C#正则表达式实战指南

需积分: 10 9 下载量 47 浏览量 更新于2024-10-18 收藏 4KB TXT 举报
在C#编程中,正则表达式是一种强大的文本处理工具,用于匹配、查找、替换和验证字符串模式。下面我们将详细探讨一些常见的C#正则表达式及其用途。 1. 数字验证: - `"^\d+$"`:这个正则表达式用于验证输入是否只包含非负整数,即纯数字。 - `"^[0-9]*[1-9][0-9]*$"`:它检查输入是否至少有一个非零数字,允许前导零。 - `"^((-\d+)|(0+))$"`:这个表达式匹配负整数或仅由零组成的字符串。 - `"^-?[0-9]*[1-9][0-9]*$"`:允许正负整数,包括零。 - `"^\d+(\.\d+)?$"`:此正则表达式用于验证小数,允许整数部分,但小数部分是必需的。 - `"^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$"`:它确保小数部分至少有一个非零数字。 - `"^((-\d+(\.\d+)?)|(0+(\.0+)?))$"`:允许正负小数,包括零。 - `"^-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$"`: 同上,但允许负号。 - `"^-?\d+)(\.\d+)?$"`:允许正负整数和小数,但小数部分可选。 2. 字符串验证: - `"^[A-Za-z]+$"`:这个正则表达式用于验证字符串是否仅包含26个英文字母。 - `"^[A-Z]+$"`:检查字符串是否仅包含大写英文字母。 - `"^[a-z]+$"`:确保字符串仅包含小写英文字母。 - `"^[A-Za-z0-9]+$"`:验证字符串是否仅包含26个字母和数字。 - `"^\w+$"`:这个正则表达式匹配任何单词字符(等同于[a-zA-Z0-9_])。 3. 邮件地址验证: - `"^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$"`:这是一个常见的邮件地址验证表达式,检查是否符合电子邮件的通用格式。 4. URL验证: - `"^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$"`:这个正则表达式用于验证URL的基本结构。 5. 日期格式验证: - `"/^(d{2}|d{4})-((0([1-9]{1}))|(1[1|2]))-(([0-2]([1-9]{1}))|(3[0|1]))$/"`:此正则表达式验证简单的日期格式,如dd-MM-yyyy或yyyy-MM-dd。 - `"/^((0([1-9]{1}))|(1[1|2]))/(([0-2]([1-9]{1}))|(3[0|1]))/(d{2}|d{4})$/"`:类似地,它验证另一种日期格式,如MM/dd/yyyy或MM-dd-yyyy。 6. 电话号码验证: - `"^(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5])$"`:这个正则表达式用于验证IPv4地址,但可以稍作修改以适应电话号码格式。 - `""(d+-)?(d{4}-?d{7}|d{3}-?d{8}|^d{7,8})(-d+)?"`:这个正则表达式适用于验证各种电话号码格式,包括区号。 这些正则表达式在C#中通常与`System.Text.RegularExpressions`命名空间中的类和方法一起使用,例如`Regex.IsMatch()`,`Regex.Replace()`等。它们对于数据验证、数据提取以及文本处理任务非常有用。在实际应用中,可能需要根据具体需求对这些表达式进行微调或扩展。