为google-code-prettify编译正则表达式

时间:2012-01-29 09:19:12

标签: javascript regex

我们正在开发一个google-code-prettify的扩展程序,它可以为网页上的源代码执行代码着色。我们在Mathematica中有很长的关键字列表(大约4000个),虽然性能仍然非常好,但我想知道我是否可以加快速度。

我们的关键字列表的正则表达式如下所示

var keywords = 'AbelianGroup|Abort|AbortKernels|AbortProtect|Above|Abs|Absolute|\
AbsoluteCurrentValue|AbsoluteDashing|AbsoluteFileName|AbsoluteOptions|\
AbsolutePointSize|AbsoluteThickness|AbsoluteTime|AbsoluteTiming|AccountingForm';
new RegExp('^(?:' + keywords + ')\\b')

这样的 -ed正则表达式在编译时可以更快吗?首先它是否有意义编译它,因为google-code-prettify是在服务器上运行的JavaScript。我不知道每次加载网页时是否新加载此脚本。在这种情况下,编译它可能不值得花费。

1 个答案:

答案 0 :(得分:3)

  1. google-code-prettify在客户端上运行(它是一个脚本;浏览器从服务器请求源代码)。
  2. 创建RegExp对象 在运行时编译它。
  3. 换句话说,请保持原样。

相关问题