什么是更快,一个复杂的正则表达式,或许多较小的表达式?

时间:2013-10-22 17:15:17

标签: javascript regex scalability

  

有些人在面对问题时会想“我知道,我会使用正则表达式”。现在他们有/ [0-9] + /问题。

我试图用较新的文本替换段落(不确定长度)中的某些字符组合。字符组合可能变得相当复杂,以至于正则表达式就是这个野兽:

/>:\)|\([\w~]+\)|\\[:]?[od]\/|[:;\|bBiIxX8\(\)\]][=\-"^:]?[)>$&|\w\(\)*@#?]?[)>$&|\w\(\)*@#?]/g

它包含由管道分隔的六个不同的“子句”(是正确的词吗?)。

这个正则表达式是否会更好地分成六个较小的正则表达式,或者在同一段落上运行.replace()六次的开销会否定任何好处(如果有的话)?

1 个答案:

答案 0 :(得分:0)

使用regexp的优势在于您可以像this帖子中的解释一样预编译它们。

在这篇文章中,如果你反复使用正则表达式,你会发现regexp性能下降。