代码之家  ›  专栏  ›  技术社区  ›  Peter D

使用javascript在大型文档中查找正则表达式匹配项的快速方法?

  •  0
  • Peter D  · 技术社区  · 14 年前

    我目前正在使用jquery,但是我对它的速度不太满意。在一个1.5mb的文件中,匹配2个正则表达式大约需要5秒钟,当我添加更多搜索条件时,它会增加。

    有人知道使用javascript在大型文档中快速查找regex匹配项的方法吗?

    1 回复  |  直到 14 年前
        1
  •  1
  •   Pointy    14 年前

    你说你在“使用jQuery”,但你没有说如何使用。你有没有试过一个“highlight”插件(或者,听起来你需要一个插件的派生版本)?我用过这个: http://johannburkard.de/blog/programming/javascript/highlight-javascript-text-higlighting-jquery-plugin.html

    看起来,为了提高性能,您需要做的是将正则表达式合并成一个“令牌语法”。换句话说,您不希望从头开始在整个文档中逐个查找每个正则表达式。相反,您需要使用一个正则表达式来处理它,该正则表达式与每个可能的目标相匹配(当然,一次一个),每次它找到一个目标时,您都会用合适的替换它。这样,无论文档有多大,也不管您要寻找多少模式,您都可以只对文档进行一次遍历。

    编辑