C#正则表达式实战指南

5星 · 超过95%的资源 需积分: 5 2 下载量 29 浏览量 更新于2024-09-15 收藏 12KB TXT 举报
本文主要探讨了C#编程中正则表达式的重要应用,涵盖了各种常见的正则表达式模式,用于匹配数字、字母、特殊字符、中文字符、电子邮件、网址、电话号码以及身份证号码等。 在C#中,正则表达式是一种强大的文本处理工具,可以用来验证输入数据的有效性、提取特定格式的信息以及进行复杂的字符串操作。以下是一些常见的正则表达式模式及其用途: 1. 数字匹配: - `^[0-9]*$`:匹配任意数量的数字。 - `^\d{n}$`:匹配恰好n个数字。 - `^\d{n,}$`:匹配至少n个数字。 - `^\d{m,n}$`:匹配m到n个数字。 2. 非负整数: - `^(0|[1-9][0-9]*)$`:确保数值非负,且至少有一个数字。 3. 两位小数的实数: - `^[0-9]+(.[0-9]{2})?$`:匹配最多两位小数的实数。 4. 至少1到3位小数的实数: - `^[0-9]+(.[0-9]{1,3})?$`:匹配至少一位小数,最多三位小数的实数。 5. 国际电话号码: - `^\+?[1-9][0-9]*$`:匹配国际电话号码,允许有加号开头。 6. 三字符字符串: - `^.{3}$`:匹配长度为3的任何字符序列。 7. 全英文字符串: - `^[A-Za-z]+$`:匹配只包含英文字符的字符串。 - `^[A-Z]+$`:匹配只包含大写英文字符的字符串。 - `^[a-z]+$`:匹配只包含小写英文字符的字符串。 - `^[A-Za-z0-9]+$`:匹配只包含英文和数字的字符串。 - `^\w+$`:等价于`^[A-Za-z0-9_]+$`,匹配英文、数字和下划线。 8. 邮箱验证: - `^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$`:匹配标准的电子邮件地址。 9. 网络URL: - `^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$`:验证HTTP协议的网址。 10. 电话号码格式: - `^(\(\d{3,4}-)|\d{3,4}-)?\d{7,8}$`:匹配多种电话号码格式。 11. 15位或18位身份证号: - `^\d{15}|\d{18}$`:验证15位或18位的中国身份证号码。 12. 月份匹配: - `^(0?[1-9]|1[0-2])$`:匹配1到12的月份,允许前导零。 13. 日期匹配(包括闰年): - `^((0?[1-9])|((1|2)[0-9])|30|31)$`:匹配1到31的日期,允许前导零。 此外,正则表达式还可以用在输入框的事件处理中,如: - 限制输入框仅能输入中文字符:`onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g, '')"` 和 `onbeforepaste="clipboardData.setData(text, clipboardData.getData(text).replace(/[^\u4E00-\u9FA5]/g, ''))"`。 - 限制输入框仅能输入全角字符:`onkeyup="value=value.replace(/[^\uFF00-\uFFFF]/g, '')"`。 掌握这些C#正则表达式应用可以帮助开发者更高效地处理和验证各种格式的数据,提高程序的健壮性和用户体验。