【发布时间】:2021-03-29 00:57:41
【问题描述】:
我的 javascript 代码中有两个正则表达式
const regex = /[0-9a-zA-Z_ ]{3,}/gm;
const htmlRegex = /\r\n|\n|\r| |<[^>]*>/gm;
第一个正则表达式用于检查字符串是否存在 3 位数字,第二个正则表达式用于检查字符串是否包含 html 代码。但是这个正则表达式很慢需要 1-2 秒。
如何解决这个问题?之前谢谢。
【问题讨论】:
-
请重新考虑使用正则表达式检测html?
-
您还有其他解决方案吗? @evolutionxbox
-
抱歉,我将“检测”误解为“解析”。这个问题有帮助吗? stackoverflow.com/questions/15458876/…
-
你在什么样的输入上运行它,以及如何,所以它需要“1-2秒[s]”?如果他们只是检查存在,为什么他们有
g标志? -
这个正则表达式
[0-9a-zA-Z_ ]{3,}匹配任何列出的 3 次或更多次,也可以匹配 3 个空格。要匹配 3 位数字,您可以使用\d{3}在第二个模式中,您可以将交替缩短为\r?\n|&nbsp;|<[^>]*>
标签: javascript node.js regex performance