\ W是否包含回车符(\ r)或换行符(\ n)?

时间:2013-03-02 21:34:13

标签: regex regex-negation

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

2 个答案:

答案 0 :(得分:1)

当然\W包括\r\n

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

现在有三种可能性:

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

  2. \w基于Unicode ==>类似于[\p{L}\p{Nd}\p{Pc}]的字母,来自所有语言的数字以及更多类似于下划线的字符See Unicode on regular-expressions.info

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

  4. 但由于换行符从未包含在\w中,因此\W

    中包含换行符

答案 1 :(得分:0)

\ w是[a-zA-Z0-9_]的简写,因此它只匹配a-z(下部和上部),数字和下划线。否定的\ w是\ W将匹配除\ w

之外的所有内容

再次阅读here

基本上有两种类型的正则表达式,POSIX和Perl。理论上posix正则表达式应该独立于编程语言,但有一些已知的例外。请参阅此主题以了解Java和.NET之间的差异(理论上相同的posix,几乎不相同) Are Java and C# regular expressions compatible?