正则表达式:[^ A-Za-z \ s]和\ W \ d之间的差异

时间:2015-01-29 22:38:04

标签: regex

正在进行正则表达式搜索字母字符时,[^ A-Za-z \ s]和\ W \ d等效?性能方面是否存在差异?

2 个答案:

答案 0 :(得分:1)

不,他们不一样。尝试使用一些测试数据并向自己证明。

\W是对\w的否定。 \w是“单词字符”。它不包括空格,标点符号等。

[A-Za-z\s]是“字母A-Z,大写和小写,加上空格”。 [^A-Za-z\s]是对此的否定。

你为什么问这两者之间的区别?你希望通过使用一个而不是另一个来加快搜索速度吗?如果是这样,由于您使用的两个非常简单的正则表达式中的哪一个因素,您的搜索很可能很慢。

答案 1 :(得分:1)

不,他们不等同。 \w相当于A-Za-z0-9_

性能取决于您使用的引擎,但我无法想象两者之间存在很大差异。