0

IOWs,\w 字符类的否定形式。我应该期望我使用正则表达式的不同语言有不同的行为吗?

4

2 回答 2

1

当然\W包括\r\n

\W\w\w包含字母、数字和连接标点符号(如下划线)的否定。

现在有3种可能:

  1. \w是基于 ASCII 的 ==>[a-zA-Z0-9_]

  2. \w是基于 Unicode 的 ==> 类似[\p{L}\p{Nd}\p{Pc}]表示所有语言的字母、数字以及更多类似于下划线的字符请参阅 Unicode on regular-expressions.info

  3. \w风味允许您使用修饰符切换 的行为。

但是由于换行符从未包含在其中,\w因此它们在所有情况下都包含在\W

于 2013-03-02T22:32:13.073 回答
0

\w 是一个简写形式,[a-zA-Z0-9_]所以它只匹配 az(小写和大写)、数字和下划线。否定的 \w 是 \W 将匹配除 \w 之外的所有内容

在这里阅读更多。

基本上有两种类型的正则表达式,POSIX 和 Perl。从理论上讲,posix 正则表达式应该独立于编程语言,但也有一些已知的例外。请参阅此线程了解 Java 和 .NET 之间的差异(理论上相同的 posix,实际上不一样) Java 和 C# 正则表达式是否兼容?

于 2013-03-02T21:37:01.920 回答