正则表达式\w为什么会匹配数字?

新手上路,请多包涵

w的正则表达式.png

阅读 3.9k
3 个回答

\w 匹配包括下划线的任何单词字符。类似但不等价于“[A-Za-z0-9_]”,这里的"单词"字符使用Unicode字符集。

\W 匹配任何非单词字符。等价于“[^A-Za-z0-9_]”

https://baike.baidu.com/item/...

别惊讶,在 C# (默认 Unicode)中,它还可以匹配中文。

\w,匹配包括下划线的任何单词字符。等价于“[A-Za-z0-9_]”。注意Unicode正则表达式会匹配中文字符。

不同正则引擎对转义的定义可以很不相同。

java.util.regex.Pattern, \w 包括:

A word character: [\p{Alpha}\p{gc=Mn}\p{gc=Me}\p{gc=Mc}\p{Digit}\p{gc=Pc}]

其中包括字母和数字

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题