Excluding matches with a regex exception
Overview
I am embarrassed to admit this, but I have never used a regex exclusion [^...]
before. Regular expressions have been a part of my career for as far back as I can remember. I actually thought I had a pretty solid understanding of all the options available. But, exclusions… I somehow missed them.
With this construct we can find everything EXCEPT <insert pattern match here>
, by using the exception [^...]
character class.
Examples
Search the string a
for all characters, EXCEPT a, b, c, d, e, f (no match):
jemurray@mbp-2019:~ $ echo "a" | grep '[^abcdef]'
Repeat the same type of search again, this time for the character z
which is not on the exclusion list [^abcdef]
. A match is found:
jemurray@mbp-2019:~ $ echo "z" | grep '[^abcdef]'
z