
正则表达式学习指南
5星
- 浏览量: 0
- 大小:None
- 文件类型:DOC
简介:
一、校验数字的表达式
1. 数字:`^[0-9]*$` 该表达式用于匹配零个或多个数字字符。
2. n位的数字:`^d{n}$` 此正则表达式匹配长度为n位的数字。其中,d代表任意数字字符。
3. 至少n位的数字:`^d{n,}$` 该表达式匹配至少n位数字的字符串。
4. m-n位的数字:`^d{m,n}$` 此正则表达式匹配m到n位的数字字符串。
5. 零和非零开头的数字:`^(0|[1-9][0-9]*)$` 该模式确保数字以0或1-9开头,后跟零个或多个数字字符。
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][0-9]*|0$` 该表达式验证是否为非负整数,允许值为 0 到 9 的任何数字组合以及 0 本身 。
14. 非正整数:`^-[1-9]d*|0$` 或 `^( -[ - d + ]* )?$ ` 该表达式验证是否为非正整数,允许值为 0 和所有小于 0 的值 。
注意: 上述正则表达式可能需要根据具体应用场景进行调整以获得最佳效果
... (后续正则表达式类似)
二、校验字符的表达式
... (后续正则表达式类似)
三、特殊需求表达式
... (后续正则表达式类似)
正则表达式是一种强大的文本处理工具,用于匹配、查找、替换和验证字符串。它通过一套特定的模式定义来描述字符序列,从而实现高效且灵活的文本操作。
1. **数字验证**:
- `^[0-9]*$` 用于匹配任何由数字构成的字符串。
- `^d{n}$` 对应于匹配精确长度为n的数字字符串。
- `^d{n,}$` 则是用于匹配至少n位的数字字符串。
- `^d{m,n}$` 适用于匹配m到n位的数字字符串。
- `(0|[1-9][0-9]*)$` 用于识别零或非零开头的数字序列。
- `^([1-9][0-9]*)+(.[0-9]{1,2})?$` 用于验证符合规范的,最多包含两位小数的数字字符串。
- `^(-)?d+(.d{1,2})?$` 则用于匹配正负数,并允许最多两位小数。
- `^(-|+)?d+(.d+)?$` 用于匹配正负数以及任意数量的小数位。
- `^[0-9]+(.[0-9]{2})?$` 专门用于识别有两位小数的正实数。
- `^[0-9]+(.[0-9]{1,3})?$` 用于匹配有1到3位小数的正实数。
- `^[1-9]d*$` 或 `^([1-9][0-9]*){1,3}$` 或 `^+?[1-9][0-9]*$` 适用于识别非零的正整数值。
- `^-[1-9][]0-9*$` 或 `^-[1-9]d*$` 用于识别非零的负整数值。
- `^d+$` 或 `^[1-9]d*|0$` 是用来验证非负整数的表达式。
- `^-[1-9]d*|0$` 或 `^((-d+)|(0+))$` 用于验证非正整数的值,包括正负零情况。
- `^d+(.d+)?$` 或 `^[1-9]d*.d*|0.d*[1-9]d*|0?.0+|0$` 适用于验证非负浮点数的值。
- `^((-d+(.d+)?)|(0+(.0+)?))$` 或 `^(-([1-9]d*.d*|0.d*[1-9]d*))|0?.0+|0$` 用于验证非正浮点数的值,涵盖了各种情况下的正负和小数位数变化 。
- `^[1-9]d*.d*|0.d*[1-9]d*$` 或 `^(([0-9]+.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*.d+)|([0-9]*[1-9][0-9]*))$` 能够识别正浮点数的各种形式 。
- `^-([1-9]d*.d*|0.d*[1-9]d*)$` 或 `^(-(([0-9]+.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*.d+)|([0-[6]-6])))$` 用于识别负浮点数的各种形式 。
\- `^(-? d+)((. d+)?)?$`, 或者 `-? ([ 88888888]) | ( . [7777777]) | ( . [666666]) | ( . [555555]) | ( . [444444]) | ( . [333333]) | ( . [222222]) | ( . [ ])); $`, 用来验证浮点数的各种形式 。
2. **字符验证**:
- `^[u4e00-u9fa5]{0,}$` 用于匹配零个或多个汉字。
- `^[A-Za-z0-9]+$` 或 `^[A-Za-z0-9]{4,40}$` 对应于匹配英文和数字字符序列。
- `^.{3,20}$` 则用于匹配长度在3到20个字符之间的任意字符。
- `^[A-Za-z]+$` 专门用于验证任意长度的英文字符串。
- `^[A-Z]+$` 对应于匹配任意长度的大写英文字符串。
- `^[a-z]+$` 用于验证任意长度的小写英文字符串。
- `^[A-Za-z0-9]+$` 则用于匹配任意长度的英文和数字字符组合。
- `^w+$` 或 `^w{3,20}$` 用来确认字符串只包含字母、数字和下划线字符,且长度在3到20之间。
- `^[u4E00-u9FA5A-Za-z0-9_]+$` 用于匹配包含中文、英文、数字和下划线的字符串。
- `^[u4E00-u9FA5A-Za-z0-9]+$` 或 `^[u4E00-u9FA5A-Za-z0-9]{2,20}$` 专门针对中文、英文和数字的字符串进行验证,允许的长度范围为2到20个字符。
- `[^%&,;=?$x22]+` 定义了一个模式,该模式匹配除了百分号%、ampersand &、逗号 ,、分号 ;、等号 =、问号 ? 和美元符号 $ 以及双引号 外的其他字符。
- `[^~x22]+` 则用于匹配不包含波浪号 ~ 的字符序列。
3. **特殊需求表达式**:
- `^w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$` 用于确认电子邮件地址的有效性。
- `[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+.?` 专门用于验证域名的正确性。
- `[a-zA-z]+:[^s]*` 或 `^http:([w-]+.)+[w-]+([w-.?%&=]*)?$` 用于判断网址的有效性。
- `^(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}$` 针对手机号码的验证规则。
- `^((d{3,4}-)|d{3.4}-)?d{7,8}$` 用于检查电话号码是否符合预定的格式。
- `d{3}-d{8}|d{4}-d{7}` 实现对国内电话号码格式的验证。
- `^d{15}|d{18}$` 用于验证身份证号,该身份证号长度为15位或18位。
- `^([0-9]){7,18}(x|X)?$` 或 `^d{8,18}|[0-9x]{8,18}|[0-9X]{8,18}?$` 提供一种方法来验证缩短形式的身份证号码。
- `^[a-zA-Z][a-zA-Z0-9_]{4,15}$` 定义了账号格式的验证规则,要求以字母开头,长度在5到16字节之间,允许使用字母、数字和下划线字符。
- `^[a-zA-Z]w{5,17}$` 用于验证密码,确保密码以字母开头,长度在6到18字节之间,并且包含字母、数字和下划线字符。
- `^(?=.*d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$` 制定了强密码的验证标准,要求密码必须同时包含大小写字母和数字字符,且长度在8到10个字符之间。
- `^d{4}-d{1,2}-d{1,2}$` 实现对日期格式的校验。
- `^(0?[1-9]|1[0-2])$` 用于确认一年中存在几个月份(从 1 到 12)。
- `^((0?[1-9])|((1|2)[0-9])|30|31)$` 用来验证一个月有多少天(从 31 天到 30 天)。
正则表达式能够提供多种途径来处理文本内容,例如验证数字、字符、电子邮件地址、电话号码以及网址等,并且能够满足各种个性化的验证需求。通过巧妙地结合不同的元字符、量词和分组结构,可以构建出既复杂又高度精确的匹配模式。 具备扎实的正则表达式技能将显著提升处理文本数据的速度和准确性。 持续的实践和实验是精通正则表达式的关键要素。
全部评论 (0)


