基本语法
元字符
| 元字符 | 说明 |
|---|---|
| . | 匹配除换行符以外的任意字符 |
| \w | 匹配字母、数字、下划线、汉字 |
| \s | 匹配任意的空白符 |
| \d | 匹配数字 |
| \b | 匹配单词的开始或结束 |
| ^ | 匹配字符串的开始 |
| $ | 匹配字符串的结束 |
例:匹配有abc开头的字符串
1 | \babc或^abc |
重复限定符
| 语法 | 说明 |
|---|---|
| * | 重复零次或更多次 |
| + | 重复一次或者更多次 |
| ? | 重复零次或一次 |
| {n} | 重复n次 |
| {n,} | 重复n次或更多次 |
| {n,m} | 重复n次到m次 |
限定符作用于与它左边最近的一个字符。
例:匹配以a开头,0个或者多个以b结尾的字符串
1 | ^ab*$ |
分组
以”()“作为分组。
例:匹配以ab开头,0个或者多个以b结尾的字符串
1 | ^(ab)*$ |
注:如需匹配小括号,只要加转义字符串即可。
1 | ^(\(ab\))*$ |
条件或
利用“|”来表达条件或。
例:匹配130/131/181/177等开头的11位手机号。
1 | ^(130|131|181|177)\d{8}$ |
区间
利用“[]”来表达区间条件。
[0-9]:限定0到9
[A-Z]:限定A到Z
[165]:限定规定数字
例:匹配130/131/132/156/158/159/145/177开头的11位数字
1 | ^((13[0-2])|(15[689])|145|177)\d{8}$ |