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

Regex 正则表达式:[^A-Za-z\s]和\W\d之间的差异,regex,Regex,在执行正则表达式搜索时,字母字符是否为[^a-Za-z\s]和\W\d?性能方面有差异吗?不,它们不一样。试着用一些测试数据来验证一下 \W是对\W的否定\w是“单词字符”。它不包括空格、标点符号等 [A-Za-z\s]是“字母A-z,大写和小写,加上空格”[^A-Za-z\s]是它的否定 你为什么要问这两者的区别?您是否希望通过使用其中一个而不是另一个来加快搜索速度?如果是这样的话,很可能您的搜索速度很慢,这是因为除了您使用的两个非常简单的正则表达式中的哪一个之外的其他因素。不,它们不一样。试

在执行正则表达式搜索时,字母字符是否为[^a-Za-z\s]和\W\d?性能方面有差异吗?

不,它们不一样。试着用一些测试数据来验证一下

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

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


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

不,它们不一样。试着用一些测试数据来验证一下

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

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


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

不,它们是不等价的<代码>\w相当于
A-Za-z0-9


性能将取决于您所使用的发动机,但我无法想象两者之间有多大区别。

不,它们不是等效的<代码>\w相当于
A-Za-z0-9


性能将取决于你正在使用的引擎,但我无法想象两者之间有很大的不同。

除非你的正则表达式匹配在一个被称为上千次或几百万次的非常紧的循环的中间,所以这两个之间的执行差异太小,以至于无关紧要。因此,选择一个更清楚你的意图。(不,它们不一样)<代码>对字母字符进行正则表达式搜索。但是,正则表达式不包括它们。除非正则表达式匹配在一个被称为上千次或几百万次的非常紧的环的中间,所以这两个之间的执行差异太小,以至于无关紧要。因此,选择一个更清楚你的意图。(不,它们不一样)
对字母字符执行正则表达式搜索
但是您的正则表达式排除了它们。