正则表达式
2019-11-29
概念
什么是正则表达式?
正则表达式:用于匹配规律规则的表达式。
正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE)
作用
- 匹配:给定的字符串是否符合正则表达式的过渡逻辑
- 提取:从字符串中获取我们想要的特定部分
- 替换:强大的字符串替换能力
特点
- 灵活性、逻辑性和功能性强
- 迅速地用极简单的方式达到字符串的复杂控制
测试
组成
由普通字符和元字符两部分组成
普通字符
普通字符包括没有显式指定为元字符的所有可打印和不可打印字符。这包括所有大写和小写字母、所有数字、所有标点符号和一些其他符号。
元字符
常用元字符串
元字符 | 说明 |
---|---|
\d | 匹配数字 [0-9] |
\D | 匹配任意非数字的字符 [^0-9] |
\w | 匹配字母或数字或者下划线 [a-zA-Z_0-9] |
\W | 匹配任意不是字母、数字、下划线 [^a-zA-Z_0-9] |
\s | 匹配任意的空白符 [ \t\n\x0B\f\r] |
\S | 匹配任意不是空白符的字符 [^\s] |
. | 匹配除换行符以外的任意单个字符 |
^ | 表示匹配行首的文本(以…开始) |
$ | 表示匹配行尾的文本(以…结束) |
限定符
限定符 | 说明 |
---|---|
* | 重复0次或者多次 |
+ | 重复1次或者多次 |
? | 重复0次或者1次 |
{n} | 重复n次 |
{n,} | 重复n次或者多次 |
{n,m} | 重复n到m次 |
其他
其他 | 含义 |
---|---|
[] | 字符串用中括号括起来,表示匹配其中的任一字符,相当于或的意思 |
[^] | 匹配除中括号以内的内容 |
\ | 转义符 |
| | 或者,选择两个中的一个,注意|将左右两边分为两部分,而不管左右两边有多长多乱 |
() | 从两个直接量中选择一个,分组 eg:gr(a|e)y匹配gray和grey |
[\u4e00-\u9fa5] 匹配汉字
案例
验证手机号:
1 | ^\d{11}$ |
验证邮编:
1 | ^\d{6}$ |
验证日期 2019-11-29
1 | ^\d{4}-\d{1,2}-\d{1-2}$ |
1 | ^\w+@\w+\.\w+$ |
验证ip地址 192.168.1.10
1 | ^\d{1,3}\(.\d{1,3}){3}$ |
阅读量次