So I have this regular exp :: /(?:^|\W)\£(\w+)(?!\w)/g
This is meant to match words following the character £ . ie; if you type Something £here it will match £here .
However, if you type ££here I don't want it to be matched, however, i'm unsure how to match £ starting but ignore if it's ££.
Is there guidance on how to achieve this?
You can add £ to \W:
/(?:^|[^\w£])£(\w+)/g
Actually, (?!\w) is redundant here (as after a word char, there is no more word chars) and you can remove it safely.
See the regex demo. Details:
(?:^|[^\w£]) - start of string or any single char other than a word and a £ char£ - a literal char(\w+) - Group 1: one or more word chars.If you also don't want to match $£here
(?<!\S)£(\w+)
Explanation
(?<!\S) Assert a whitespace boundary to the left£ Match literally(\w+) Capture 1+ word characters in group 1See a regex101 demo.
If a lookbehind is not supported:
(?:^|\s)£(\w+)
See another regex101 demo.