Thanks, I just didn't realize that my "metachars" are word boundaries themselves. smirk

Now, to get the "bounary effect" in some circumstances none the less (e.g. text bordering punctuation, brackets...), I'm temped to use: /(?<=^|\W)\Qmy expression\E(?=$|\W)/

That aside: you may have noticed that I used (?:...) to set "non captive" patterns. You're using (?<=...) and (?=...). I never figured out how to use these atomic things properly - could you please explain why you used the one at the beginning and the other at the end?