【发布时间】:2014-06-01 04:58:10
【问题描述】:
有人能解释一下[^\d\s] 和[\D\S] 之间的区别吗?
http://www.regular-expressions.info/shorthand.html的描述不是很清楚:
在方括号内使用否定的速记时要小心。
[\D\S]与[^\d\s]不同。后者匹配任何 既不是数字也不是空格的字符。它匹配x,但是 不是8。然而,前者匹配任何不是 一个数字,或者不是空格。因为所有数字都不是空格, 并且所有空白字符都不是数字,[\D\S]匹配任何 特点;数字、空格或其他。
它们对我来说似乎是一样的。还是我错过了什么?
【问题讨论】:
-
阅读 Oracle 官方 Java 教程中的 Lesson: Regular Expressions 并在此处找到 Java Regex Pattern 的完整列表以及完整说明。
-
其中一个答案是否解决了您的问题?我注意到您还没有在 StackOverflow 上投票。如果一个答案解决了您的问题,请考虑通过单击左侧的复选标记“接受它”,因为这就是声誉系统的工作方式(接受答案会给回答者和您带来声誉)。当然,没有义务这样做。稍后,当您获得更多声誉时,您也可以提出问题。感谢收听我的 20 秒 SO rep 教程。 :)
标签: regex