不,这可能是不可能的,因为无论如何它都需要你重新编译正则表达式.
但是,如果使用boost :: xpressive,则可以通过正则表达式的表达式模板构造在编译期间编译正则表达式.这将使正则表达式编译时间完全消失.
但是,使用多余的时间使用的真正原因几乎可以肯定是你通过使用回溯正则表达式引擎不正确地使用正则表达式IE.
RE2是一种传统的自动机正则表达式引擎,它不使用回溯,而是直接构造NFA或DFA.如果您不使用反向引用或许多基于非正则表达式的"特征",则使用RE2将显示许多极端情况的速度增加的数量级.
如果您正在使用这些功能,您应该意识到它们将严格控制匹配的速度,并且它们几乎肯定是您寻求消除速度减慢的主要原因.
归档时间: |
|
查看次数: |
569 次 |
最近记录: |