Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.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 Regex获得全字电子邮件_Javascript_Regex - Fatal编程技术网

Javascript Regex获得全字电子邮件

Javascript Regex获得全字电子邮件,javascript,regex,Javascript,Regex,我很难尝试使用正则表达式从字符串中进行匹配以仅获取电子邮件,字符串如下:“您好,我们已向发送了一封电子邮件。”***foo@hotmail.com检查它“ 我想要只回来的火柴***foor@hotmail.com我试过用a作为字符串: a.match(/\b(?=\w*[@*.])\w+\b/g) //expected ***foor@hotmail.com 但这只会返回[foo][hotmail],甚至不会返回.com 你能帮我吗 提前谢谢!您可以尝试使用类似^.+(.+@.+).*$的re

我很难尝试使用正则表达式从字符串中进行匹配以仅获取电子邮件,字符串如下:“您好,我们已向发送了一封电子邮件。”***foo@hotmail.com检查它“

我想要只回来的火柴***foor@hotmail.com我试过用a作为字符串:

a.match(/\b(?=\w*[@*.])\w+\b/g)
//expected ***foor@hotmail.com
但这只会返回[foo][hotmail],甚至不会返回.com

你能帮我吗


提前谢谢!

您可以尝试使用类似
^.+(.+@.+).*$
的regexpr。 在浏览器的JS控制台中,您可以对其进行测试:

编辑

const text = "Hello we have sent an email to ***foo@hotmail.com check it"
const result = text.match(/^.+ (.+@[^ ]+) .*$/)
// returns ["Hello we have sent an email to ***foo@hotmail.com check it", 
"***foo@hotmail.com", index: 0, input: "Hello we have sent an email to ***foo@hotmail.com check it", groups: undefined]
如您所见,
result[1]
包含所需的邮件地址”***foo@hotmail.com“


你也可以用测试它。

你得到foo和hotmail,因为你只是在断言一个点的存在,并且
@
使用正向前瞻
(?=
但匹配部分仅使用与点不匹配的
\w
@
我可以知道对我的答案进行向下投票的原因吗?但它不包含所需的地址。不仅是地址,也就是说-你显示自己结果是
”***foo@hotmail.com检查“
这比电子邮件本身更重要。可能是我不理解这个问题:您应该获得什么样的设计输出?问题表明
//预期***foor@hotmail.com
,因此,我想使用一个与完整电子邮件地址匹配的regexpr…您给出的示例匹配并返回
”***foo@hotmail.com检查“
作为输出。您甚至自己这样说“正如您所看到的,
结果[1]
包含所需的邮件地址”***foo@hotmail.comcheck”-所需的输出只是电子邮件,因此不应存在check“。uuuuuuuuuuh!复制和粘贴错误…我从编辑器复制了以前版本的regexpr:-(…感谢您的关注!我编辑了我的答案,提供了正确的regexpr。。。