C# 正则表达式匹配常用模式

需积分: 9 2 下载量 148 浏览量 更新于2024-09-17 收藏 6KB TXT 举报
"这篇代码示例展示了如何在C#中使用正则表达式来验证不同类型的输入,包括国内电话号码、手机号码、整数、邮箱地址以及URL,并提供了相关的正则表达式模式。" 在C#编程中,正则表达式(Regular Expression)是一种强大的文本处理工具,用于匹配、查找、替换和提取字符串中的特定模式。在这个示例中,`RegExpClass`类定义了一些私有变量和静态变量,它们都是`Regex`对象,用来表示不同的正则表达式模式。`Regex`类是.NET框架中用于处理正则表达式的类,它提供了多种方法,如`Match`、`Matches`和`IsMatch`,用于执行正则表达式操作。 1. **国内电话号码验证**:`RegPhone`变量使用正则表达式`@"(d+-)?(d{4}-?d{7}|d{3}-?d{8}|^d{7,8})(-d+)?|^(\d{11})$"`来检查电话号码。这个模式可以匹配多种格式,如区号-本地号,没有区号的本地号,或者11位的手机号码。 2. **手机号码验证**:`RegMobile`变量使用`@"^((\(\d{2,3}\))|(\d{3}\-))?1[3|5]\d{9}$"`来验证手机号码。该模式主要针对中国的13或15开头的11位手机号码,允许有区号或无区号的形式。 3. **数字验证**: - `RegInt`:`@"^-?\d+$"`用于检查任意整数,包括负数和零。 - `RegZeroAndPosInt`:`// Northwestern`,这个注释可能不完整,但通常会用于验证非负整数,即包含零和正整数。 - `RegPosInt`:`@"^[0-9]*[1-9][0-9]*$"`仅验证正整数,不包括零。 - `RegNagInt`:`@"^-[0-9]*[1-9][0-9]*$"`验证负整数,不包括零。 - `RegZeroAndNagInt`:`@"^((-\d+)|(0+))$"`用于验证负整数和零。 4. **邮箱地址验证**:`RegEmail`变量使用`@"^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$"`, 这个模式能匹配大多数标准格式的电子邮件地址。 5. **URL验证**:`RegURL`变量使用`@"^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$"`来检查URL的正确格式。 这些正则表达式模式可以用于数据验证,确保用户输入的数据符合预期的格式。例如,在表单提交或数据库输入之前,可以使用这些模式进行验证,以减少错误数据的录入。在实际应用中,开发者可以根据具体需求调整这些正则表达式,以满足更复杂或更严格的格式要求。同时,使用`Regex`类的`IsMatch`方法可以轻松地检查输入字符串是否符合给定的正则表达式模式。