Thanks for the finer points. So in  or a character class|set the only characters that must be escaped are \ (backslash), ^ and -. And hyphen can be un-escaped if its last. I have to research more on word boundaries. I sort of hacked my hashtag solution because the preceding match would gobble up the space character need with the next. Wow, trying to explain RegEx thought is ridiculous. But yah, it is crazy that one line of code can take this long to understand.
You don't need to escape ^ in a character class because it has no ambiguous meaning. Same with $.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.