C#-Windows应用程序-正则表达式帮助

C#-Windows应用程序-正则表达式帮助,c#,C#,我有一个文本框控件,允许用户输入他们的电子邮件地址。 用户可以通过提供逗号或在下一行(新行)中输入电子邮件 任务是检查文本框是否包含新行(\n)字符或 逗号然后相应地拆分电子邮件地址 我申请: string[]emails=txtemailAddress.Text.Split('\n'); 它分割电子邮件地址 我需要一个例程来检查textBox是否包含“,{或}”\n和 根据拆分字符拆分字符串。如果电子邮件地址的格式无效,则也应引发异常。 提前感谢。string.Split方法接受要拆分

我有一个文本框控件,允许用户输入他们的电子邮件地址。 用户可以通过提供逗号或在下一行(新行)中输入电子邮件

任务是检查文本框是否包含新行(\n)字符或 逗号然后相应地拆分电子邮件地址

我申请:
string[]emails=txtemailAddress.Text.Split('\n');
它分割电子邮件地址


我需要一个例程来检查textBox是否包含“,{或}”\n和 根据拆分字符拆分字符串。如果电子邮件地址的格式无效,则也应引发异常。


提前感谢。

string.Split方法接受要拆分的字符数组:

// split on newline or comma
txtemailAddress.Text.Split(new[]{'\n', ','});

关于验证电子邮件地址,这是一项乍一看似乎很简单的任务,但事实证明这比预期的更具挑战性。

编写解析器来检查电子邮件是否正确并不容易。 对于拆分,您可以通过如下方式传递要拆分的字符数组

char[] delimiters = new char[] { ',', '\n' };
string[] emails = txtemailAddress.Text.Split(delimiters ); 

其他答案很好,但既然您询问了正则表达式:
\s*,\s*\s+
,我相信应该可以。它在逗号(前后有任意数量的空格)和任何形式的空格(换行符、空格、制表符等)之间分开

分割使用

string[] emails = txtemailAddress.Text.Split('\n', ',');
此方法比正则表达式快

要验证电子邮件,请查看以下问题:

这是一项太复杂的任务,无法在此展开另一场讨论

string[] emails = txtemailAddress.Text.Split('\n', ',');