Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/421.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 电子邮件正则表达式导致无限循环_Javascript_Regex_Node.js_Email - Fatal编程技术网

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

Javascript 电子邮件正则表达式导致无限循环,javascript,regex,node.js,email,Javascript,Regex,Node.js,Email,有人能看一下吗 并更正正则表达式,使其不会超时或导致无限循环? 我一直在nodejs中测试它,并在Regex测试网站中获得无限循环和超时。 我已经在stackoverflow和其他网站上搜索了一段时间,但没有找到它。抱歉,如果此线程有重复项 我的电子邮件regex是 [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\-.]{

有人能看一下吗 并更正正则表达式,使其不会超时或导致无限循环? 我一直在nodejs中测试它,并在Regex测试网站中获得无限循环和超时。 我已经在stackoverflow和其他网站上搜索了一段时间,但没有找到它。抱歉,如果此线程有重复项

我的电子邮件regex是 [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}
这涵盖了大多数情况。我只是限制字符的数量

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

例如:

当我从您的测试字符串中删除该单词时,您的表达式工作正常


例如:

由于包含943k字符的聊天数据转储,您经历了灾难性的回溯。只要删除它,它就可以正常工作。

点击这里:@garglblarg好的,我正在看,但你能解释一下为什么会给超时或无限循环吗?@garglblarg我尝试过使用相同内容的网站来提取电子邮件,但这是无限循环。你知道在这种情况下什么会起作用吗?在这种情况下,我怀疑它不是一个错误的正则表达式,而是无效的输入,或者它不是一个真正的无限循环,只是花了很长时间,看起来是一样的,我不知道。好的,我明白了,我会看看。我同意你的,先生。但是我对输入没有任何控制权,所以我提出了这个[a-zA-Z0-9\-.]{2,64}@[a-zA-Z0-9\-]{2,64}.[a-zA-Z0-9\-.]{2,64}。你提到的几点正是这个问题的用字。我很感激。这有帮助!好的,我认为回溯是问题的技术定义。谢谢你的意见。