【发布时间】:2021-03-27 03:13:51
【问题描述】:
从这些字符串中提取姓名和电子邮件的正则表达式是什么?
johndoe@example.com
John <johndoe@example.com>
John Doe <johndoe@example.com>
"John Doe" <johndoe@example.com>
可以假设电子邮件是有效的。该名称将通过电子邮件由一个空格分隔,并且可能会被引用。
预期结果是:
johndoe@example.com
Name: nil
Email: johndoe@example.com
John <johndoe@example.com>
Name: John
Email: johndoe@example.com
John Doe <johndoe@example.com>
Name: John Doe
Email: johndoe@example.com
"John Doe" <johndoe@example.com>
Name: John Doe
Email: johndoe@example.com
这是我目前的进步:
(("?(.*)"?)\s)?(<?(.*@.*)>?)
(可以在这里测试:http://regexr.com/?337i5)
【问题讨论】:
-
您有哪些有效电子邮件的可能性?请注意,用于验证所有电子邮件的正则表达式可能很大。您需要澄清您认为所有电子邮件是正确的。
-
我不需要验证电子邮件。
-
您使用的是哪种语言或工具?
-
@RohitJain 在不同的浏览器中为我工作。无论如何,我添加了我目前最好的正则表达式。
-
@hpique 正则表达式与语言无关