Regex 正则表达式在分号后插入新行字符,并在电子邮件前删除名称

Regex 正则表达式在分号后插入新行字符,并在电子邮件前删除名称,regex,vba,excel,Regex,Vba,Excel,我有一个电子邮件列表,都在一行,我想清理。它们目前的格式如下: Jones, Peter <jones.h7@petstore.com>; Bradley, Charles <bradley19@petstore.com>; Frank, Hilda <frank.hl@petstore.com>; 因此,电子邮件周围的名称和尖括号将被删除 我想要一个正则表达式解决方案。我试过替换\s与\r\n一起,但未获得预期结果。我对regex非常陌生,所以我被卡住了。

我有一个电子邮件列表,都在一行,我想清理。它们目前的格式如下:

Jones, Peter <jones.h7@petstore.com>; Bradley, Charles <bradley19@petstore.com>; Frank, Hilda <frank.hl@petstore.com>;
因此,电子邮件周围的名称和尖括号将被删除


我想要一个正则表达式解决方案。我试过替换
\s
\r\n
一起,但未获得预期结果。我对regex非常陌生,所以我被卡住了。

]*)>(;)[^>
]*)>(;)[^>
]*)>(;)[^>
]*)>(;)[^>除了替换
-ed电子邮件之外,您可以将邮件与以下正则表达式之一匹配(如果您确实坚持使用regex解决方案):

<([^>]*)>(;)|[^><]*
电子邮件地址将位于捕获的组1中。请参阅

如果您需要替换不需要的字符串,您仍然可以使用

<([^@<>]+@[^@<>]+)>(;)|[^<>]+|<|>
(;)|[^]+|

使用
$1$2
替换字符串。请参见而不是替换除
-ed电子邮件以外的所有邮件,您只需将邮件与以下正则表达式之一匹配即可(如果您确实坚持使用正则表达式解决方案):

电子邮件地址将位于捕获的组1中。请参阅

如果您需要替换不需要的字符串,您仍然可以使用

<([^@<>]+@[^@<>]+)>(;)|[^<>]+|<|>
(;)|[^]+|

使用
$1$2
替换字符串。请参见而不是替换除
-ed电子邮件以外的所有邮件,您只需将邮件与以下正则表达式之一匹配即可(如果您确实坚持使用正则表达式解决方案):

电子邮件地址将位于捕获的组1中。请参阅

如果您需要替换不需要的字符串,您仍然可以使用

<([^@<>]+@[^@<>]+)>(;)|[^<>]+|<|>
(;)|[^]+|

使用
$1$2
替换字符串。请参见而不是替换除
-ed电子邮件以外的所有邮件,您只需将邮件与以下正则表达式之一匹配即可(如果您确实坚持使用正则表达式解决方案):

电子邮件地址将位于捕获的组1中。请参阅

如果您需要替换不需要的字符串,您仍然可以使用

<([^@<>]+@[^@<>]+)>(;)|[^<>]+|<|>
(;)|[^]+|

使用
$1$2
替换字符串。请参见您也可以尝试此正则表达式:

(?:[^<]+)<([^>]+)>(;)
(?:[^(;)
并将其替换为
$1$2\n

此处第一组捕获电子邮件地址,第二组捕获
。此处
?:
忽略电子邮件地址前的名称


您也可以尝试此正则表达式:

(?:[^<]+)<([^>]+)>(;)
(?:[^(;)
并将其替换为
$1$2\n

此处第一组捕获电子邮件地址,第二组捕获
。此处
?:
忽略电子邮件地址前的名称


您也可以尝试此正则表达式:

(?:[^<]+)<([^>]+)>(;)
(?:[^(;)
并将其替换为
$1$2\n

此处第一组捕获电子邮件地址,第二组捕获
。此处
?:
忽略电子邮件地址前的名称


您也可以尝试此正则表达式:

(?:[^<]+)<([^>]+)>(;)
(?:[^(;)
并将其替换为
$1$2\n

此处第一组捕获电子邮件地址,第二组捕获
。此处
?:
忽略电子邮件地址前的名称




使用
正则表达式提取
之间存在的所有内容。您正在运行哪个语言?您只需将
中的任何内容与
匹配,即可获得组1的内容。这够了吗?请让我们知道您使用的语言。嗨,我只是使用升华文本。对于下一个投票人,请对n您认为我的问题有什么问题?使用
正则表达式提取
之间的所有内容。您运行的是哪种语言?您只需将
中的任何内容与
匹配,即可获得组1的内容。这就足够了吗?请让我们知道您使用的是什么语言。嗨,我正在使用sublime text.对于下一个投票者,您认为我的问题有什么问题吗?使用
正则表达式提取
之间的所有内容。您正在运行哪个语言?您可以将
中的任何内容与
匹配,并获得组1的内容。这足够了吗?请告诉我们使用哪种语言您正在使用.hi,我只是在使用sublime文本。对于下一个投票人,您认为我的问题有什么问题吗?使用
正则表达式提取
之间存在的所有内容。您正在运行哪个语言?您只需将
中的任何内容与
匹配,就可以得到组1的内容。是不是够了吗?请让我们知道您使用的是什么语言。嗨,我只是使用了sublime文本。对于downvoter,您觉得我的问题有什么不对吗?谢谢Stribizev,我必须说,答案很好,我喜欢演示页面:)请小心使用该网站,因为它只能处理PCRE(PHP/Perl),Python和JavaScript regex版本。如果您使用的是C#,您不应该使用该网站,而应该使用regexstorm.net或regexhero.net。您使用的是什么版本?我已经更新了答案,以便在您的
内部没有电子邮件的情况下,也可以删除它们。请让我知道它是否适合您,或者您是否需要如果有效果,请考虑接受答案。是的,但是我不支持。我更新了答案。谢谢StrubHeHEV,非常好的答案。我必须说,我喜欢演示页面:请注意这个网站,因为它只能处理PCRE(PHP/Perl)。,Python和JavaScript正则表达式的风格。如果您使用的是C#,您不应该使用该网站,而应该使用regexstorm.net或regexhero.net。您使用的是什么风格?我已经更新了答案,以便在您的
内部没有电子邮件的情况下,也可以删除它们。请让我知道它是否适用于