Try playing with `yas/key-syntaxes'. This is where yasnippet decides how far back from current point to go until it finds an expandable key.
I think the default value is a list that starts with "w", which means "word syntax" and the character "-" doesnt belong to it, for emacs-lisp purposes "-" separates two words.
Try removing this first element
#'(lambda () (set (make-local-variable 'yas/key-syntaxes) (list "w_" "^ "))))
should work, I think, but do try variations on it if you feel like it...
> You received this message because you are subscribed to the Google Groups "smart-snippet and YASnippet" group.
> To post to this group, send email to smart-...@googlegroups.com.
> To unsubscribe from this group, send email to smart-snippe...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/smart-snippet?hl=en.