Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.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
Regex 另一个正则表达式问题是在模式末尾检测空格字符_Regex - Fatal编程技术网

Regex 另一个正则表达式问题是在模式末尾检测空格字符

Regex 另一个正则表达式问题是在模式末尾检测空格字符,regex,Regex,我的正则表达式是: (\w|-|\.)+@((\w|-|)+[.]?(\w|-)+)+[.](\w){2,3} (regex电子邮件) 它确实找到了以下匹配项: 以前blabla@blablabli.com之后 如果我尝试在正则表达式末尾添加空格字符检测: (\w|-|\.)+@((\w|-|)+[.]?(\w|-)+)+[.](\w){2,3}\s 它再也认不出比赛了 为什么 我在上进行了测试。此表达式后可以有多个空格 ^(\w|-)+@(\w|-)+[.]?(\w|-)+)+。{2,3}

我的正则表达式是:

(\w|-|\.)+@((\w|-|)+[.]?(\w|-)+)+[.](\w){2,3}
(regex电子邮件)

它确实找到了以下匹配项:

以前blabla@blablabli.com之后

如果我尝试在正则表达式末尾添加空格字符检测:

(\w|-|\.)+@((\w|-|)+[.]?(\w|-)+)+[.](\w){2,3}\s
它再也认不出比赛了

为什么


我在上进行了测试。

此表达式后可以有多个空格

^(\w|-)+@(\w|-)+[.]?(\w|-)+)+。{2,3}\s+$


(\w|-)++@(\w|-)+[.]?(\w|-)++.{2,3}\s+

由于灾难性的回溯而失败。你的正则表达式太复杂了。切换到类似

([\w.-]+)@([\w-]*\.?[\w-]+)+[.](\w){2,3}

它将像一个字符一样工作

这一款确实针对电子邮件检测进行了优化:

\s\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w{2,3}\s

快速而猛烈。

/(\w|-|-)+@(\w|-|-)+[.]?(\w|-)+)+[.](\w){2,3}\s/.test('before')blabla@blablabli.com“
之后为true。无论您在做什么,您的模式都会在所提供字符串的结尾处使用
\s
。为什么它在该字符串上找不到匹配项?在过去的几个月里,这个网站从来没有让我失望过。也许你可以提供一个链接到你在regex101上失败的测试用例?你看到“灾难性回溯”错误消息了吗?