Recently I had a task to match a given row, only if it contains words, different than a predefined non-matching word list.
Here is the example:
- Let say we have the excluded words: “bad_word1|bad_word2”
- We must match a row only if there words, different than the bad words from above
That should match:
MATCH:good_word1 good_word2 bad_word1 bad_word2
, because we have good words (different than the excluded ones)
If our string consists of only bad words it should not match:
DON'T MATCH:bad_word1 bad_word2 bad_word2
In my specific requirement I had a string of Cookie (HTTP Cookie header), where I wanted to match only if there are cookie names, different than a predefined list of excluded cookies.
The final regex looked like tihs
WORKING REGEX: "(^|; *)(excluded_cookie)\w*="
Now let say we have the following Cookie: headers:
This will match: Cookie: good_cookie2=some_value; excluded_cookie=other_value;
This wont match: Cookie: excluded_cookie=some_value;
Finally here is a link at regex101, where you could test this regex