本文分步介绍了如何创建和使用正则表达式来确定字符串是否与特定模式匹配。正则表达式允许进行简单的分析和匹配的特定模式的字符串。使用RegularExpressions命名空间中提供的对象,可以将字符串与给定模式比较、 用另一个字符串替换的字符串模式或检索只是部分的格式化字符串。在此示例中,我们将构造一个模式来验证电子邮件地址。
使用正则表达式匹配模式
- 启动 Visual C#。
- 创建一个新 Visual C# 控制台应用程序。
- 使用关键字指定Text.RegularExpressions命名空间,这样就不需要限定在您的代码后面这些命名空间中声明。所有其他声明之前,必须使用using语句:
using System.Text.RegularExpressions;
@H_404_45@ @H_404_45@- 定义新的正则表达式,它将使用模式匹配来验证电子邮件地址。
- 之前的子字符串捕获 @ 符号,并将它放入"user"组。
- 捕获的子字符串后 @ 符号,并将它放入"host"组。
- 请确保该字符串的第一个部分没有 @ 符号。
Regex emailregex = new Regex("(?<user>[^@]+)@(?<host>.+)"); @H_404_45@ @H_404_45@- 定义新的字符串包含一个有效的电子邮件地址。
String s = "johndoe@tempuri.org"; @H_404_45@ @H_404_45@- 检查以查看是否有任何命令行参数 ;
if ( args.Length > 0 ) { s = args[0]; } @H_404_45@ @H_404_45@- 使用传入的电子邮件地址的变量并返回一个新的匹配对象的匹配方法。无论是否已找到任何匹配项将返回的匹配对象在源字符串。
Match m = emailregex.Match(s); @H_404_45@ @H_404_45@- 通过检查的成功属性,我们可以决定是否继续处理的匹配对象或打印一条错误消息。如果成功,则显示"用户"和"主机"的命名组匹配对象的集合中的组。
if ( m.Success ) { Console.WriteLine("User: " + m.Groups["user"].Value); Console.WriteLine("Host: " + m.Groups["host"].Value); } else { Console.WriteLine(s + " is not a valid email address"); } Console.WriteLine(); @H_404_45@ @H_404_45@- 若要运行该应用程序后让控制台窗口保持打开,添加下面的代码行:
System.Console.WriteLine("Press Enter to Continue..."); System.Console.ReadLine(); @H_404_45@ @H_404_45@- 生成您的项目。
- 用代码中指定的默认电子邮件地址在开发环境中运行该应用程序,请按 F5 或在调试菜单中选择启动。
猜你在找的正则表达式相关文章
- 定义新的正则表达式,它将使用模式匹配来验证电子邮件地址。