0
"Max Mustermann" <max.mustermann@domain.com>
max.mustermann@domain.com
Max <max.mustermann@domain.com>

我需要一个正则表达式,它匹配箭头括号(包括括号)之外的所有内容。之后应删除匹配项。

更换后应该是这样的:

"Max Mustermann" <max.mustermann@domain.com> => max.mustermann@domain.com
4

2 回答 2

0

最简单的解决方案是搜索

[^<]*<([^>]*)>.*

并将其替换为\1or $1,具体取决于您的正则表达式引擎。

这将删除第一个之前的<所有内容,以及从下一个>到字符串末尾的所有内容。

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

于 2013-02-14T11:24:01.700 回答
0

这应该可行,但要注意它非常简化

(?:[^<]*<)?([^>]+).*

电子邮件的答复将在$1

例如,在 Perl 中使用:

$email =~ s/(?:[^<]*<)?([^>]+).*/$1/;

请参阅RegexPlanet 在线演示

于 2013-02-14T11:44:36.623 回答