正则表达式:数字与字符校验完全指南
需积分: 0 96 浏览量
更新于2024-08-04
收藏 6KB TXT 举报
"这篇文档主要介绍了正则表达式的使用,特别是在数字校验和字符校验方面的应用,适用于Java全栈开发、前端以及后端开发人员。文档内容包括各种类型的数字验证表达式和部分字符验证表达式,以满足不同的数据格式需求。"
在编程中,正则表达式是一种强大的工具,用于匹配、查找、替换字符串中的模式。以下是对标题和描述中提到的知识点的详细解释:
### 一、数字校验表达式
1. **数字**: `^[0-9]*$` - 这个表达式用于匹配任何长度的纯数字串,包括空字符串。
2. **n位数字**: `^\d{n}$` - 匹配恰好n位的数字串。
3. **至少n位数字**: `^\d{n,}$` - 匹配至少n位的数字串,允许更长。
4. **m-n位数字**: `^\d{m,n}$` - 匹配m到n位之间的数字串。
5. **零和非零开头的数字**: `^(0|[1-9][0-9]*)$` - 匹配以0开头或非零数字开头的任意长度数字串。
6. **非零开头的小数**: `^([1-9][0-9]*)+(.[0-9]{1,2})?$` - 匹配非零开头且最多带有两位小数的数字。
7. **带1-2位小数的正负数**: `^(\-)?\d+(\.\d{1,2})?$` - 匹配可能为负的,带1-2位小数的数字。
8. **正负数和小数**: `^(\-|\+)?\d+(\.\d+)?$` - 匹配可能为正、负或零的任意小数。
9. **有两位小数的正实数**: `^[0-9]+(.[0-9]{2})?$` - 匹配正实数,精确到两位小数。
10. **1~3位小数的正实数**: `^[0-9]+(.[0-9]{1,3})?$` - 匹配正实数,小数部分1到3位。
11. **非零的正整数**: `^[1-9]\d*$` 或 `^([1-9][0-9]*){1,3}$` 或 `^\+?[1-9][0-9]*$` - 匹配非零的正整数。
12. **非零的负整数**: `^\-[1-9]\d*` 或 `^-[1-9]\d*$` - 匹配非零的负整数。
13. **非负整数**: `^\d+$` 或 `^[1-9]\d*|0$` - 匹配非负整数,包括0。
14. **非正整数**: `^-[1-9]\d*|0$` 或 `^((-\d+)|(0+))$` - 匹配非正整数,即负整数和0。
15. **非负浮点数**: `^\d+(\.\d+)?$` 或 `^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$` - 匹配非负浮点数。
16. **非正浮点数**: `^((-\d+(\.\d+)?)|(0+(\.0+)?))$` 或 `^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$` - 匹配非正浮点数,即负浮点数和0。
17. **正浮点数**: `^[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]*))$` - 匹配正浮点数。
18. **负浮点数**: `^-([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]*)))$` - 匹配负浮点数。
19. **浮点数**: `^(-?\d+)(\.\d+)?$` 或 `^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$` - 匹配所有浮点数,包括正、负和0。
### 二、字符校验表达式
1. **汉字**: `^[\u4e00-\u9fa5]{0,}$` - 匹配任意数量的汉字字符。
2. **英文和数字**: `^[A-Za-z0-9]+$` 或 `^[A-Za-z` - 这里信息不完整,但通常用于匹配仅包含英文字母和数字的字符串。
正则表达式是开发者在处理字符串时不可或缺的工具,尤其在数据验证、文本分析和搜索等方面。掌握这些常用的数字和字符校验表达式,能有效提高代码的质量和效率,确保数据的正确性。在实际开发中,根据具体需求可以组合和调整这些基础表达式,以实现更复杂的匹配规则。
2014-11-14 上传
2010-11-25 上传
2014-03-17 上传
2024-11-06 上传
2023-03-24 上传
2024-11-06 上传
2020-12-01 上传
2018-09-17 上传
2009-06-24 上传
双木夕子飞
- 粉丝: 6
- 资源: 6