So I've inherited some regular expressions I'm unfamiliar with and have been researching how they work. Sadly, I'm finding the documentation of Regular Expressions for MySQL is either limited, missing detailed information, or flat-out wrong; and standards from other platforms don't seem to be compatible. I'm hoping that somebody can help explain why this is, and also, if there's a site that properly documents everything for MySQL.
First, the below expression works great - it matches keywords from a table, but I'm putting "textdata" in as a placeholder since the problem is with the actual expression.
The Expression I'm having issues understanding is:
(?!\\B\\w)textdata(?<!\\w\\B)
So all the documentation says ? is used to define PROCEEDING character/string matching, and I can't find ! documented anywhere so I don't know what ?! translates to, or what ?<! translates to. On top of that the \B escape doesn't seem documented (and changing it to \b causes it to break, so it's case sensitive), and I'm assuming \w is word, but I'm also unsure of that. I can't seem to find any examples of these values being used anywhere in a properly documented format as they apply to MySQL.
Any help understanding this expression would be appreciated, and could/should it be rewritten in a different more "compatible" way?