How can I exclude some characters from a class?

planetp picture planetp · Aug 23, 2010 · Viewed 20.1k times · Source

Say I want to match a "word" character (\w), but exclude "_", or match a whitespace character (\s), but exclude "\t". How can I do this?

Answer

ysth picture ysth · Aug 23, 2010

Use a negated class including \W or \S.

/[^\W_]/  # anything that's not a non-word character and not _
/[^\S\t]/ # anything that's not a non-space character and not \t