Squ*_*ivo 2 c# regex string email
我需要检查包含电子邮件列表的字符串.这些电子邮件通常用逗号分隔,但我需要检查该列表中的某个地方是否有逗号以外的分隔符.这是一个例子:
email1@email.com,email2@email.com,email3@email.com#email4@email.com
Run Code Online (Sandbox Code Playgroud)
我需要识别不同的字符并替换为逗号.
我不能只使用正则表达式来识别逗号以外的特殊字符并替换它们,因为电子邮件可能包含其中一些字符.所以我需要在两封电子邮件之间找到一些东西.我制作了以下正则表达式来识别电子邮件,我相信它将涵盖大部分电子邮件:
^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@[a-z0-9]+(\.[a-z0-9]+)+$
Run Code Online (Sandbox Code Playgroud)
但是我在使用C#时如何使用它来解决我的问题有点迷失.我需要捕获这个正则表达式的两个匹配之间的东西并替换为逗号.
谁能帮助我?谢谢.
您的问题无法解决,因为分隔符并不总是由人决定.
考虑此输入,其中分隔符是.
:
user@server.co.uk.user@otherServer.com
Run Code Online (Sandbox Code Playgroud)
这是:
user@server.co | uk.user@otherServer.com
Run Code Online (Sandbox Code Playgroud)
或者是:
user@server.co.uk | user@otherServer.com
Run Code Online (Sandbox Code Playgroud)
或者这个输入:
user@server.intuser@otherServer.com
Run Code Online (Sandbox Code Playgroud)
是分隔符u
:
user@server.int | ser@otherServer.com
Run Code Online (Sandbox Code Playgroud)
或分隔符t
:
user@server.in | user@otherServer.com
Run Code Online (Sandbox Code Playgroud)
如果您不愿意接受一定比例的失败,那么最好先寻找不接收此输入的方法.