非数字匹配(否定字符类)
[^0-9]
这将匹配所有非 ASCII 数字的字符。
如果还要取消 Unicode 数字,则可以使用以下表达式,具体取决于你的风格/语言设置:
[^\d]
这可以缩短为:
\D
你可能需要通过使用 u
修饰符或在某些语言中以编程方式显式启用 Unicode 字符属性支持,但这可能不明显。为了明确地传达意图,可以使用以下构造(当支持可用时):
\P{N}
其定义是指:这是不是在任何脚本数字字符的任意字符。在否定的字符范围内,你可以使用:
[^\p{N}]
在以下句子中:
嗨,怎么了?
我等不及 2017 了!!!
将匹配以下字符:
,
,
'
,?
,行尾字符和所有字母(小写和大写)。
'
,,
!
,行尾字符和所有字母(小写和大写)。