我想知道哪一个是匹配两次或三次(或类似)事件的更有效方法,例如在 url 中:
http://domain.com
如果我要匹配双斜杠“//”,哪个效率更高:
这个:
\/\/
或者这个
\/{2}
想象一下,对于一些更长、更复杂的场景,然后建议哪种方式更有效?
谢谢。
最佳答案
我建议使用:
(?:pattern}{2}
出于这些原因:
- 你不想重复冗长的模式
- range 性能更好,因为正则表达式引擎不需要处理相同的模式两次
- 很容易将范围扩展到
{4}
或{5,10}
等,但重复做同样的事情并不容易
检查这 2 个演示链接以证实性能部分:
- Using Range of
{2}
- 走 29 步 - Repeating pattern - 走 47 步
关于regex - 正则表达式匹配重复的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35534325/