javascript - 正则表达式帮助 : why does this output include duplicates?

标签 javascript regex string

我有一个字符串: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/

相关文章:

javascript - 注册。 exp.在javascript中获取子字符串中的最后一个<a>标签

python - 将两个列表组合成字符串

regex - 用正则表达式替换字符串中第一次出现的 ","

javascript - 页面重定向后保留表单值,使用 JavaScript 在新表单中显示这些值

javascript - 在 React 中循环一个文件夹中的所有图像的好方法是什么?

javascript - js函数队列

regex - 缺少后视的解决方法?

php - 如何在 MySQL 正则表达式中使用 PHP 字符串插值和方括号?

javascript - JS React 网站最好的无限滚动工具/组件?

javascript - jQuery UI slider 在 BMI 计算器中未正确更新