正则表达式
学习视频:正则表达式
通配
符号 | 描述 |
---|---|
. | 匹配任意一个非断行字符 |
\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(正则表达式) ->返回符合条件的所有子串