我有一个字符串:remove_names = "Jimmy X" <jimmy@x1.com>, "jimmy@x2.com <jimmy@x2.com>, "spitfire672@x3.com" <spitfire672@x3.com>
我正在尝试使用提取电子邮件地址
emailsArray = remove_names.match(/([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\.[a-zA-Z0-9._-]+)/gi);
这使得 emailsArray [jimmy@x1.com,jimmy@x2.com,jimmy@x2.com,spitfire672@x3.com,spitfire672@x3.com]
这显然有重复。
我想我需要将 regexp 参数更改为 match(...)
这样结果不包含重复项(即扫描 < >
)。如果有任何帮助,我将不胜感激。
最佳答案
忽略这个事实:这是 not quite a valid email regular expression...
您缺少正则表达式周围的尖括号:
/<([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\.[a-zA-Z0-9._-]+)>/
关于javascript - 正则表达式帮助 : why does this output include duplicates?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4356951/