正则表达式为什么消耗大

前端之家收集整理的这篇文章主要介绍了正则表达式为什么消耗大前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

这两天一直在思考,正则表达式的消耗点在哪里。总结与分析了一下,如下:

我们先来看看正则表达式的工作流程:

1 . 正则表达式需开启正则表达式引擎。(由各自语言的编译引擎开启)

2 . 编译正则表达式,把它转换成本机代码例程。

3 . 寻找正则匹配的起始点。(这点似乎可通过算法进行优化,类似算法可参照KMP算法)。

4 . 以下就是匹配的工作了,不是本文重点,故不细述。

以上便是系统的主要损耗点,其中认为起始点的寻找所用的算法对性能影响尤为巨大。

附:本机代码例程:百度百科解释为:指计算机编程代码,它被编译成用来运行一个特殊的处理器和特殊的指令集。(我们可以理解为:语言系统为了应对本语言的正则表达式,而为本机的正则表达式所创建的特定的代码集合,该代码集合主要是处理对应的处理器和指令集。)

猜你在找的正则表达式相关文章