Regex for string not ending with given suffix
To search for files not ending with ".tmp" we use the following regex:
^(?!.*[.]tmp$).*$
Tested with the Regex Tester gives following result:
Use the not (^
) symbol:
.*[^a]$
If you put the ^
symbol at the beginning of brackets, it means "everything except the things in the brackets." $
is simply an anchor to the end.
For multiple characters, just put them all in their own character set:
.*[^a][^b]$
.*[^a]$
the regex above will match strings which is not ending with a
.
You don't give us the language, but if your regex flavour support look behind assertion, this is what you need:
.*(?<!a)$
(?<!a)
is a negated lookbehind assertion that ensures, that before the end of the string (or row with m
modifier), there is not the character "a".
See it here on Regexr
You can also easily extend this with other characters, since this checking for the string and isn't a character class.
.*(?<!ab)$
This would match anything that does not end with "ab", see it on Regexr