### 常用的正则表达式知识点 正则表达式是一种强大的文本处理工具,在文本检索、替换等操作中有着广泛的应用。以下是对给定文件中的正则表达式进行的详细解析与说明。 #### 数字类正则表达式 1. **匹配任意长度的数字:** `^[0-9]*$` - 这个表达式可以匹配任何以数字开头的字符串,包括空字符串(即没有数字的情况)。 2. **匹配固定长度n的数字:** `^\d{n}$` - 这里`\d`是数字的简写,`{n}`表示重复n次,因此这个表达式用于匹配恰好有n位数字的字符串。 3. **匹配最少n位的数字:** `^\d{n,}$` - 此表达式匹配至少有n位数字的字符串,例如`^\d{3,}`可以匹配所有至少有三位数字的字符串。 4. **匹配m到n位的数字:** `^\d{m,n}$` - 这个表达式用于匹配m至n位数字之间的字符串,例如`^\d{3,5}`匹配所有三到五位数字的字符串。 5. **匹配非负整数:** `^(0|[1-9][0-9]*)$` - 这个表达式可以匹配所有非负整数,包括零。 6. **匹配正浮点数或整数(小数部分最多两位):** `^([1-9][0-9]*)?(.[0-9]{1,2})?$` - 可以匹配所有的正整数以及小数部分最多两位的小数,例如“123”、“123.45”。 7. **匹配带符号的浮点数(小数部分最多两位):** `^(\-)?\d+(\.\d{1,2})?$` - 匹配可选的负号,然后是整数部分和可选的小数部分(最多两位)。 8. **匹配带符号的浮点数:** `^(\-|\+)?\d+(\.\d+)?$` - 匹配带有可选正负号的整数或浮点数。 9. **匹配整数或小数(小数部分最多两位):** `^[0-9]+(.[0-9]{2})?$` - 匹配所有整数或小数,其中小数部分最多两位。 10. **匹配整数或小数(小数部分最多三位):** `^[0-9]+(.[0-9]{1,3})?$` - 类似于第9条,但小数部分可以是1到3位。 11. **匹配正整数:** - `^[1-9]\d*$`:匹配所有正整数。 - `^([1-9][0-9]*){1,3}$`:匹配一到三个正整数的组合。 - `^\+?[1-9][0-9]*$`:匹配所有正整数,包括带正号的情况。 12. **匹配负整数:** `^\-[1-9][0-9]*$` - 匹配所有负整数。 13. **匹配非负整数:** `^\d+$` 和 `^[1-9]\d*|0$` - 第一个表达式匹配所有非负整数;第二个表达式也匹配非负整数,但更精确地处理了“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之间的字符串。 4. **匹配由26个大写字母组成的字符串:** `^[A-Z]+$` 5. **匹配由26个小写字母组成的字符串:** `^[a-z]+$` 6. **匹配由26个英文字母组成的字符串:** `^[A-Za-z]+$` 7. **匹配由26个英文字母和数字组成的字符串:** `^[A-Za-z0-9]+$` 8. **匹配由26个英文字母和下划线组成的字符串:** `^\w+$` 和 `^\w{3,20}$` - 第一个表达式匹配任意长度的由英文字母、数字和下划线组成的字符串;第二个表达式匹配长度在3到20之间的由这些字符组成的字符串。 9. **匹配包含英文、数字和下划线的字符串:** `^[\u4E00-\u9FA5A-Za-z0-9_]+$` 10. **匹配长度为2到20的包含英文、数字和下划线的字符串:** `^[\u4E00-\u9FA5A-Za-z0-9]{2,20}$` 11. **排除特殊字符:** `[^%&',;=?$\x22]+` - 匹配不包含特定特殊字符的字符串。 12. **排除波浪线和双引号:** `[^~\x22]+` - 匹配不包含波浪线和双引号的字符串。 13. **匹配带小数点的数字:** `^[0-9]+\.{0,1}[0-9]{0,2}$` - 匹配整数或小数,小数部分最多两位。 #### 其他常见应用场景 1. **电子邮件地址:** `^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$` - 匹配标准的电子邮件地址格式。 2. **域名:** `[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(/.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+/.?` - 匹配域名格式。 3. **Internet URL:** `[a-zA-z]+://[^\s]*` 和 `^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$` - 第一个表达式匹配以字母开头的URL;第二个表达式更具体地匹配HTTP协议的URL。 4. **手机号码:** `^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}$` - 匹配中国大陆手机号码格式。 5. **电话号码:** `^(\(\d{3,4}-)|\d{3.4}-)?\d{7,8}$` - 匹配常见的电话号码格式,包括区号。 6. **地区电话号码:** `\d{3}-\d{8}|\d{4}-\d{7}` - 匹配国内城市电话号码格式。 7. **身份证号码:** - `^\d{15}|\d{18}$`:匹配15位或18位身份证号码。 - `^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$`:匹配15位身份证号码。 - `^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{4}$`:匹配18位身份证号码。 8. **身份证号码(支持校验码):** `^([0-9]){7,18}(x|X)?$` 和 `^\d{8,18}|[0-9x]{8,18}|[0-9X]{8,18}?` - 匹配包含校验码的身份证号码。 9. **用户名格式(字母开头,长度5-16,允许字母、数字和下划线):** `^[a-zA-Z][a-zA-Z0-9_]{4,15}$` 10. **用户名格式(字母开头,长度6-18,只允许字母和下划线):** `^[a-zA-Z]\w{5,17}$` 11. **强密码(必须包含大小写字母和数字,长度8-10):** `^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$` 12. **其他格式:** `^\` - 未提供完整表达式,无法解析。 以上就是对给定文件中正则表达式的详细解析,希望能帮助理解和应用这些常见的正则表达式模式。
- 粉丝: 14
- 资源: 20
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Laravel-Vue SPA 入门套件 .zip
- 非机动车未带安全帽检测数据集VOC+YOLO格式1000张4类别.zip
- Geist 的 Vue 实现.zip
- Electron + Vue仿网易云音乐windows客户端.zip
- Dropzone.js 的 Vue.js 组件 - 带有图像预览的拖放文件上传实用程序.zip
- vue框架开发,如何在vue框架下编写代码介绍
- 移动机器人路径规划实战,入门教程实验代码
- Chart.js 的 Vue.js 包装器.zip
- BootstrapVue 为 Vue.js 提供了最全面的 Bootstrap v4 实现之一 具有广泛且自动化的 WAI-ARIA 可访问性标记 .zip
- Babel , Vue JSX 相关软件包的 monorepo.zip