【发布时间】:2013-12-19 17:24:15
【问题描述】:
我相信下面的两个正则表达式做同样的事情:
\ba{3}\b
(?=\ba{3}\b).*
两者都只匹配第二个单词 (aaa):
zzz aaa bbb
我想知道在性能或任何其他方面之间是否有任何区别,或者出于某种原因是否比另一个更可取。
编辑:
确实,上面的模式匹配不同的东西(“aaa”和“aaa bbb”)。对不起,我的错。
我原来的模式是:
(?=^a{3}$).*
^a{3}$
我最初的示例主题是:
zzz
aaa
bbb
我认为这两种模式都匹配“aaa”。
我知道第二个更快。还有其他区别吗?
【问题讨论】:
-
第二个正则表达式将匹配
aaa bbb -
模式不同。但是,如果它们相同,则第一个是最快的。另一件事,第一个模式匹配第一个单词而不是第二个。
-
谢谢你的回答,伙计们。
标签: php regex pcre lookaround