似乎使用一个字符类比一个例子中的交替更快,比如:
[abc]
vs (a|b|c)
我听说它被推荐,并且使用Time::HiRes
我验证的简单测试(慢10倍).在捕获括号产生差异的情况下
也使用(?:a|b|c)
不会改变结果.
但我不明白为什么.我认为这是因为回溯,但我在每个位置看到它的方式有3个字符比较所以我不确定回溯是如何影响交替的.这是实施交替性质的结果吗?
我玩regexcrossword游戏和我稍微困惑,之间的差异(T|E|N)*
和[TEN]*
.
对我来说,第一个读作:T,E或N为0到无限次.
对我来说,第二个读作:从列表T,E或N零到无限次.
我没有看到差异.当然有一个.谢谢您的帮助!