Dan wrote:
Sick of obsfucation, I'm going to town on spacing and letter variations, with one problem:

body __OBSFU_FRE1a /\bFREE\b/i
body __OBSFU_FRE1b /\bF(\s|\s\s|\s\S|\s\S\s|\S\s|\S)?R(\s|\s\s|\s\S|\s\S\s|\S\s|\S)?E(\s|\s\s|\s\S|\s\S\s|\S\s|\S)?E\b/i
meta __OBSFU_FRE1 (!__OBSFU_FRE1a && __OBSFU_FRE1b)


"Every variation" includes the whole world: FREE. To exclude the whole word, I created a meta exception but as you might guess, this also finds the whole word elsewhere in the same message. While its odd to have one word mangled and another not, spammers do it. I'm told a negative lookaround will solve this problem, but I can't figure out how to do it. Everything I've read relates to neighboring text, not the same text. How do I write a single regex that includes every variation except a single specific one?

Do you mean negative lookahead?

body __OBSFU_FRE1 /(?!FREE)\bF(\s|\s\s|\s\S...

Reply via email to