为什么[\ D \ S]与正则表达式中的[^ \ d \ s]不同?

时间:2013-05-26 09:12:04

标签: regex

我正在阅读http://www.regular-expressions.info/charclass.html的正则表达式。它写在那里[\D\S][^\d\s]不同。谁能解释一下呢?

3 个答案:

答案 0 :(得分:2)

从您发布的链接中引用..

  

后者将匹配任何不是数字的字符或   空白。因此它将匹配x,但不匹配8.然而,前者将会   匹配任何不是数字或不是空格的字符。   因为数字不是空格,而空格不是数字,   [\ D \ S]将匹配任何字符,数字,空格或其他。

答案 1 :(得分:1)

\D都是非数字。 \S全是非空间。 [ <something> <something else> ] <{em> <something> <something else>的意思分组。

所以[\D\S]是非数字或非空格。

[^\d\s] 既不是数字也不是空格。

答案 2 :(得分:0)

为什么不阅读参考资料

  

因为数字不是空格,而空格不是数字,   [\ D \ S]将匹配任何字符,数字,空格或其他。

可能是一个线索