从单个字符串中解析姓名和电子邮件的正则表达式

5

我需要从以下格式的字符串中解析出姓名和电子邮件地址:

Ansh Aryan <ansharyan@mailinator.com>

需要使用JavaScript正则表达式进行此操作,以便获得以下结果:


姓名 = Ansh Aryan
电子邮件 = ansharyan@mailinator.com

1个回答

9
您可以使用以下正则表达式:
/([^<]+)\s<(.*)>/

当然,如果允许有些偏差,你需要进行微调以反映出来,但如果没有,那么就可以了。
一些正则表达式的简短解释:
- ([^<]+):匹配并捕获在找到<符号之前的任何内容。 - \s:匹配但不捕获单个空格标记,它可以是一个空格、制表符或其他字符。 - <(.*)>:匹配<...>和其中的内容,并捕获它。
这将产生一个matches数组,其中matches[0]应该是所有输入内容,matches[1]是名称,matches[2]是你要查找的电子邮件地址。

5
只需稍作改进:/(.*[^\s*<])?\s*<(.*)>/ 可以适应以下情况:测试 a@b.com,测试a@b.coma@b.com等等。 - designcise

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接