Home > Net >  How to use negative lookahead (NOT lookbehind) to match a string that does NOT contain a given subst
How to use negative lookahead (NOT lookbehind) to match a string that does NOT contain a given subst

Time:10-08

I'd like to match certain file types (e.g., ".txt") with a non-empty root name that doesn't end in a particular substring (e.g., "-bad"). With negative lookbehind support, the solution is simple:

/.(?<!-bad)\.txt$/

Safari, however, still does not support negative lookbehinds. Ugh. How could I achieve the same result using a negative lookahead? I'd like to do this with a single regular expression. Please do not provide any non-regex or multi-step solutions.

The test code below shows that I'm close, but one test is still failing.

  • Related