C#正则表达式实战:数字输入验证

需积分: 3 2 下载量 144 浏览量 更新于2024-09-28 收藏 45KB DOC 举报
"C#正则表达式用于验证各种输入格式" 在C#编程中,正则表达式(Regular Expression)是一种强大的文本处理工具,用于匹配、查找、替换等操作,尤其在验证用户输入数据的合法性时非常有用。下面将详细解释标题和描述中涉及的知识点,并提供更多的正则表达式示例。 1. **基本概念** - 正则表达式是由特殊字符和普通字符组成的字符串,用于定义字符串模式。 - 在C#中,`System.Text.RegularExpressions`命名空间提供了对正则表达式的支持,主要类有`Regex`。 2. **C#正则表达式方法** - `IsMatch()`: 检查输入字符串是否符合指定的正则表达式模式。 - `Match()`: 返回第一个匹配项的信息。 - `Matches()`: 返回所有匹配项的集合。 - `Replace()`: 使用新字符串替换匹配项。 - `Split()`: 将字符串分割成多个子字符串。 3. **实例代码解析** - `IsNumeric()`函数使用`IsRegEx()`来检查输入值是否全为数字。`^(-?[0-9]*[.]*[0-9]{0,3})$`这个正则表达式允许整数和最多三位小数的浮点数,包括负数。 - `IsRegEx()`函数创建一个`Regex`对象并调用`IsMatch()`方法进行匹配。异常处理确保了即使在正则表达式出现问题时,程序也能正常运行。 4. **常见正则表达式模式** - 只能输入数字:`^[0-9]*$` - 只能输入n位的数字:`^d{n}$` - 只能输入至少n位的数字:`^d{n,}$` - 只能输入m~n位的数字:`^d{m,n}$` - 只能输入零和非零开头的数字:`^(0|[1-9][0-9]*)$` - 只能输入有两位小数的正实数:`^[0-9]+(.[0-9]{2})?$` - 只能输入有1~3位小数的正实数:`^[0-9]+(.[0-9]{1,3})?$` - 只能输入非零的正整数:`^+?[1-9][0-9]*$` - 只能输入非零的负整数:`^-[1-9][0-9]*$` - 只能输入长度为3的字符:`^.{3}$` - 只能输入由26个英文字母组成的字符串:`^[A-Za-z]+$` - 只能输入由26个大写英文字母组成的字符串:`^[A-Z]+$` - 只能输入由26个小写英文字母组成的字符串:`^[a-z]+$` - 只能输入由数字和26个英文字母组成的字符串:`^[A-Za-z0-9]+$` - 只能输入由数字、26个英文字母或者下划线组成的字符串:`^w+$` - 验证用户密码:`^[a-zA-Z]w{5,17}$`,表示以字母开头,长度5到17的由字母、数字组成的字符串。 这些正则表达式模式可以广泛应用于各种场景,如表单验证、数据清洗、文本分析等。理解并熟练运用正则表达式是提高C#编程效率和代码质量的关键技能之一。