我正在尝试使用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选项并尝试了相同的表达式,但也没有运气。不确定这里发生了什么?
答案 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);