电子邮件正则表达式导致无限循环

时间:2016-12-07 12:26:09

标签: javascript regex node.js email

任何人都可以看一看 https://regex101.com/r/ApWCG0/1
并更正正则表达式,以便它不会给出超时或不会导致无限循环?
我一直在nodejs中测试它并获得无限循环并在Regex测试网站中进入超时 我一直在stackoverflow和其他网站上搜索它,但找不到它。对不起,如果这个帖子有重复。

我的电子邮件正则表达式是 [a-zA-Z0-9_\-.]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-.]+

希望有人能够度过难关。

更新
[a-zA-Z0-9_\-.]{2,64}@[a-zA-Z0-9\-]{2,64}\.[a-zA-Z0-9\-.]{2,64}
这涵盖了大多数情况。我只是限制字符数。

2 个答案:

答案 0 :(得分:1)

我检查了你的正则表达式,发现如果我们传递单个字[字符长度非常高],那么正则表达式无法检查并发出超时错误。

例如:https://regex101.com/r/sjvQ7Z/1

当我从你的测试字符串中删除那个单词时,你的表达工作正常。

例如:https://regex101.com/r/lszdaL/1

答案 1 :(得分:0)

由于包含 943k 字符的聊天数据转储,您遇到了灾难性的回溯。只需删除它就可以了。