Determining whether one is inside of a string or not in a regex is a difficult proposition.  I added a test case for `@` inside a string and the boundaries you suggested are not preventing it from being parsed.

This sort of thing is probably handled better by some sort of tokenizer, which I was planning on delving into to allow providers to call other providers (such as in #90).  However I think I have come up with a decent interim solution that I will push.  I have modified the regex to match double-quote surrounded strings as an alternate group.  The callback is modified to skip them if found.  I added some test cases for it as well.