Regex 邮件地址的正则表达式 “Max Mustermann” 最大值。mustermann@domain.com 马克斯

Regex 邮件地址的正则表达式 “Max Mustermann” 最大值。mustermann@domain.com 马克斯,regex,Regex,我需要一个正则表达式,它匹配箭头括号外的所有内容(包括括号)。 比赛结束后应取消 更换后应如下所示: "Max Mustermann" <max.mustermann@domain.com> max.mustermann@domain.com Max <max.mustermann@domain.com> “Max Mustermann”=>Max。mustermann@domain.com 最简单的解决方案是搜索 "Max Mustermann" <max.mu

我需要一个正则表达式,它匹配箭头括号外的所有内容(包括括号)。 比赛结束后应取消

更换后应如下所示:

"Max Mustermann" <max.mustermann@domain.com>
max.mustermann@domain.com
Max <max.mustermann@domain.com>
“Max Mustermann”=>Max。mustermann@domain.com

最简单的解决方案是搜索

"Max Mustermann" <max.mustermann@domain.com> => max.mustermann@domain.com
[^*
并将其替换为
\1
$1
,具体取决于您的正则表达式引擎

这将删除第一个
到字符串结尾的所有内容


我们只希望引用的名称中没有括号。

这应该是可行的,但要注意它非常:


请参阅。

它不是真的。例如,裸
email@domain.com
不匹配。因为它应该从任何电子邮件中提取电子邮件地址,包括不包含
-这列为问题中的第2行。@mvp:好的,那么应该从
max中准确匹配和删除哪些内容呢。mustermann@domain.com
?这在我的回答中-(单击Perl或Java查看示例)重点是,在输入时,我们的电子邮件地址可能有各种奇怪的格式(带描述性用户名、带尖括号或不带尖括号),在输出时,我们希望以最简单的格式发送电子邮件
user@domain.com
。虽然不是同一个问题,但请注意,完全解析所有形式的电子邮件地址都很困难。您好,表达式不起作用。结果是以下字符串max。mustermann@domain.com>修复了fiddle.re的链接,添加了大量测试输入。
[^<]*<([^>]*)>.*
(?:[^<]*<)?([^>]+).*
$email =~ s/(?:[^<]*<)?([^>]+).*/$1/;