正则表达式:数字与字符校验完全指南

需积分: 0 0 下载量 134 浏览量 更新于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` - 这里信息不完整,但通常用于匹配仅包含英文字母和数字的字符串。 正则表达式是开发者在处理字符串时不可或缺的工具,尤其在数据验证、文本分析和搜索等方面。掌握这些常用的数字和字符校验表达式,能有效提高代码的质量和效率,确保数据的正确性。在实际开发中,根据具体需求可以组合和调整这些基础表达式,以实现更复杂的匹配规则。