Example:
Suppose in the following example I want to match strings that do not contain the word "NOOOT".Example A: This shirt is NOOOT black.
Example B: This shirt is black.
I want something a little bit like the like the non-matching character class (e.g. [^abc]), but for whole strings:.*?(^NOOOT).*?
Does such a creature exist?
^(?:(?!NOOOT).)*$
Explanation:
^
start of string
(?!NOOOT).
assert that it's not possible to match NOOOT
at the current position, then match any character.
(?: ...)*
do this any number of times until...
$
end of string.
You can do that wit a negative lookahead assertion (?!…)
:
^(?:(?!NOOOT).)*$
This one matches only if there is no NOOOT
ahead at the current position while proceeding character by character.
It’s also possible to do that with basic syntax. But that’s more complex.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With