"尚硅谷正则表达式讲解文档主要涵盖了如何使用正则表达式进行数字和字符的校验,提供了多种具体的表达式模式。"
在IT领域,正则表达式(Regular Expression)是一种强大的文本处理工具,用于匹配、查找、替换等操作。以下是基于给定内容的关键知识点详解:
### 一、校验数字的表达式
1. **数字**:`^[0-9]*$`,匹配任意数量的数字,包括0和非0数字。
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或非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][]0-9"*$` 或 `^-[1-9]\d*$`,匹配非零负整数。
13. **非负整数**:`^\d+$` 或 `^[1-9]\d*|0$`,匹配所有非负整数。
14. **非正整数**:`^-[1-9]\d*|0$` 或 `^((-\d+)|(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$`,匹配所有非正浮点数。
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)$`,匹配所有浮点数。
### 二、校验字符的表达式
1. **汉字**:`^[\u4e00-\u9fa5]{0,}$`,匹配任意数量的汉字。
2. **英文和数字**:`^[A-Za-z0-9]+$` 或 `^[A-Za-z0-9]{4,40}$`,匹配由英文和数字组成的字符串,后者限制长度为4到40个字符。
3. **长度为3-20的所有字符**:未提供具体正则表达式,但一般可以使用`^.{3,20}$`来匹配长度在3到20之间的任意字符。
这些正则表达式是编程中常用的数据验证规则,特别是在表单验证、数据过滤等方面。通过灵活组合这些表达式,开发者可以实现复杂的数据格式检查,确保输入的数据符合预期格式。在实际应用中,通常会根据需求对这些基础表达式进行适当的调整和扩展。