Regular Expressions 非字母数字匹配(否定的字符类)

示例

[^0-9a-zA-Z]

这将匹配所有既不是数字也不是字母的字符(字母数字字符)。如果下划线字符_也要取反,则表达式可以缩短为:

[^\w]

要么:

\W

在以下句子中:

  1. 嗨,怎么了?

  2. 我等不及2017年了!!!

以下字符匹配:

  1. ,,,',?和行字符的结束。

  2. ',,!和行字符的结束。

UNICODE注意
请注意,有些口味与Unicode字符属性的支持可以解释\w,并\W为[\p{L}\p{N}_]和[^\p{L}\p{N}_],这意味着其他Unicode字母和数字字符将被包括在内(见PCRE文档)。这是PCRE\w测试:

在.NET中,\w= [\p{Ll}\p{Lu}\p{Lt}\p{Lo}\p{Lm}\p{Mn}\p{Nd}\p{Pc}],并注意它不匹配\p{Nl}而\p{No}不像PCRE(参见\w.NET文档):

请注意,由于某些原因,Unicode 3.1小写字母(例如