电子邮件正则表达式返回空

时间:2018-05-29 20:20:09

标签: javascript regex email-validation zapier

我正在尝试使用Zapier代码中的正则表达式从一串文本中提取多个电子邮件地址。

var rawList = "This is just a test of everything@test.com not sure how regex@email.com can extract multiple email@addresses.com but we will see";

var emailList = rawList.match(/\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}\b/);

console.log(emailList)

这总是将emailList返回为null。我从https://www.regular-expressions.info/index.html中提取了这个正则表达式。我也尝试过来自其他网站的电子邮件正则表达式,但仍有相同的经历。

我还使用了Zapier的Formatter的Extract Pattern选项并尝试了相同的表达式,但也没有运气。不确定这里发生了什么?

2 个答案:

答案 0 :(得分:0)

你的正则表达式代码不起作用。您应该使用/(([A-Za-z0-9]+\w*[\.\-]?){1,}\w*@([A-Za-z0-9]+\.){1,2}[A-z]{2,3})/gm

见下面的测试。



var rawList="This is just a test of everything@test.com not sure how regex@email.com can extract multiple email@addresses.com but we will see";
var emailList=rawList.match(/(([A-Za-z0-9]+\w*[\.\-]?){1,}\w*@([A-Za-z0-9]+\.){1,2}[A-z]{2,3})/gm);
console.log(emailList);




答案 1 :(得分:0)

使用i标志使正则表达式模式不区分大小写,您可以简化它。

添加全局g标志将使正则表达式搜索多个匹配。

使用否定的字符类可以使它更宽容。



var rawList="This is just a test of everything@test.com not sure how regex@email.com can extract multiple email@addresses.com but we will see";
var emailList = rawList.match(/\b\w[^\s@"']*@\w[^\s@"']*[.][a-z0-9]{2,63}\b/gi);
console.log(emailList);