"常用正则表达式.docx" 正则表达式是编程中用于处理字符串的强大工具,主要用于文本匹配、搜索和替换。在C#中,正则表达式被广泛应用于数据验证,例如输入框的数据校验,确保用户输入的数据符合特定格式。下面将详细解析给定的正则表达式及其应用场景。 1. **校验数字的表达式** - `^[0-9]*$`:匹配任意数量的数字,即任何长度的数字串。 - `^\d{n}$`:匹配恰好n位的数字,例如`^\d{3}$`将匹配三位数字如123。 - `^\d{n,}$`:匹配至少n位的数字,例如`^\d{4,}$`将匹配四位或更多位的数字。 - `^\d{m,n}$`:匹配m到n位的数字,例如`^\d{3,5}$`将匹配三位到五位的数字。 - `^(0|[1-9][0-9]*)$`:匹配零或非零开头的数字,确保至少有一位数字。 2. **非零开头的最多带两位小数的数字** `^([1-9][0-9]*)+(.[0-9]{1,2})?$` - 这个表达式用于验证数字,它必须是非零开头,可以有最多两位小数。 3. **带1-2位小数的正数或负数** `^(\-)?\d+(\.\d{1,2})?$` - 允许正数、负数,且小数部分最多有两位。 4. **正数、负数、和小数** `^(\-|\+)?\d+(\.\d+)?$` - 匹配任意正数、负数或带有任意多小数位的数字。 5. **有两位小数的正实数** `^[0-9]+(.[0-9]{2})?$` - 只接受正实数,且小数部分精确到两位。 6. **有1~3位小数的正实数** `^[0-9]+(.[0-9]{1,3})?$` - 匹配正实数,小数部分可以有1到3位。 7. **非零的正整数** 有多种表示方式: - `^[1-9]\d*$`、`^([1-9][0-9]*){1,3}$` 或 `^\+?[1-9][0-9]*$` - 所有这些表达式均用于验证非零正整数。 8. **非零的负整数** 也有多种表示方式: - `^\-[1-9][]0-9"*"$` 或 `^-[1-9]\d*$` - 用于匹配非零的负整数。 9. **非负整数** 包括: - `^\d+$`、`^[1-9]\d*|0$` 或 `^((-\d+)|(0+))$` - 用于验证任何非负整数,包括零。 10. **非正整数** 有多种表达形式: - `^-[1-9]\d*|0$` 或 `^((-\d+)|(0+))$` - 匹配所有非正整数,即负整数和零。 11. **非负浮点数**: - `^\d+(\.\d+)?$`、`^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$` - 验证非负浮点数,可以没有小数部分。 12. **非正浮点数**: - `^((-\d+(\.\d+)?)|(0+(\.0+)?))$` 或 `^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$` - 匹配所有非正浮点数,包括负浮点数和零。 13. **正浮点数**: - `^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$` 或 `^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$` - 用于验证正浮点数,不包括零。 14. **负浮点数**: - `^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$` 或 `^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$` - 匹配所有负浮点数。 15. **浮点数**: - `^(-?\d+)(\.\d+)?$` 或 `^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$` - 匹配所有浮点数,包括正、负及零。 16. **校验字符的表达式** - `^[\u4e00-\u9fa5]{0,}$`:匹配任意长度的汉字。 - `^[A-Za-z0-9]+$` 或 `^[A-Za-z0-9]{4,40}$`:匹配由字母和数字组成的字符串,可选长度范围为4到40。 - `^[a-zA-Z0-9]{3,20}$`:匹配长度为3到20的英文和数字的组合。 以上正则表达式在C#编程中,通常会结合`System.Text.RegularExpressions.Regex`类的`Match`、`IsMatch`或`Matches`方法使用,进行数据的验证。例如,`Regex.IsMatch(input, @"^[0-9]*$")`将检查输入字符串是否只包含数字。理解并熟练运用这些正则表达式,能够有效提高数据验证的效率和准确性。
- 粉丝: 5
- 资源: 71
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- C++多态实现机制详解:虚函数与早期绑定
- Java多线程与异常处理详解
- 校园导游系统:无向图实现最短路径探索
- SQL2005彻底删除指南:避免重装失败
- GTD时间管理法:提升效率与组织生活的关键
- Python进制转换全攻略:从10进制到16进制
- 商丘物流业区位优势探究:发展战略与机遇
- C语言实训:简单计算器程序设计
- Oracle SQL命令大全:用户管理、权限操作与查询
- Struts2配置详解与示例
- C#编程规范与最佳实践
- C语言面试常见问题解析
- 超声波测距技术详解:电路与程序设计
- 反激开关电源设计:UC3844与TL431优化稳压
- Cisco路由器配置全攻略
- SQLServer 2005 CTE递归教程:创建员工层级结构