正则表达式
学习视频:正则表达式
通配
| 符号 | 描述 |
|---|---|
| . | 匹配任意一个非断行字符 |
| \w (\W) | 匹配(非)字母,数字,_ |
| \d (\D) | 匹配(非)阿拉伯数字 |
| \s (\S) | 匹配(非)空白字符 |
| [a-z0-9] | 字符集合,匹配a-z和0-9中任意一个字符 |
| [\u4e00-\u9fa5] | 汉字字符集合 |
次数
| 符号 | 描述 |
|---|---|
| + | 重复一次或多次 |
| * | 零次或多次 |
| ? | 零个或一个 |
| {a,b} | a到b次 |
| {a} | 重复a次 |
| {a, } | 至少a次 |
| +? | +的懒惰模式,尽可能少匹配 |
| *? | * 的懒惰模式 |
| ?? | ?的懒惰模式 |
边界
| 符号 | 描述 |
|---|---|
| ^ | 行首或字符串开始 |
| $ | 行末或字符串结束 |
| \b | 单词边界 |
| \B | 非单词边界 |
预查(xxx代表条件)
| 符号 | 描述 |
|---|---|
| (xxx) $1 | 分组匹配 |
| (?:xxx ) $1 | 只匹配不捕获 |
| (?=xxx) (?!xxx) | 正向预查 |
| (?<=xxx) (?<!xxx) | 反向预查 |
常用正则表达式
| 说明 | 正则表达式 |
|---|---|
| 用户名 | ^[a-zA-Z\$][a-zA-Z0-9_\$]{4,16}$ |
| 手机号 | ^1[34578]\d{9}$ |
| QQ号 | ^[1-9][0-9]{4,}$ |
| 邮箱 | ^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$ |
| 邮箱 | ^[\w\-\\.]+@[\w\\-]+(?:\.[\w]{2,}){1,3}$ |
| 18位身份证号码 | `^[1-9]\d{5}(18 |
| 日期格式 | `^\d{4}-(0[1-9] |
| InternetURL | [a-zA-Z]+://[^\s]* |
| InternetURL | ^https?://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$ |
使用
- 正则表达式.test(字符串) -> 返回true或false
- 字符串.match(正则表达式) ->返回符合条件的所有子串