关于正则表达式的效率问题

假设有两条正则表达式,r1和r2,对同一段文本t进行匹配,现在有两种做法

1.使用r1扫描t,再用r2扫描t;

2.构造一个新的正则表达式(?:r1)|(?:r2)来扫描t;

不知道这两种方法那种效率会高一点,我个人觉得2会好点,因为消除了一部分回溯(1中使用r2扫描t等于手动回溯到t的头部),但是网上说正则尽量拆分开来效率会高点,不是太明白其中的原理啊

由于正则大多数都是使用的perl风格,就发在这了。希望有高手能给指条明路

作者: biped   发布时间: 2011-05-22

当然是只扫一遍

作者: yq_118   发布时间: 2011-05-22

自己测。别人随便说的你也信?万一他说错了怎么办?

作者: iambic   发布时间: 2011-05-22