正则速查表
WEB-02已使用 1.4w 次— 人在线常用正则语法与示例速查。所有处理都在浏览器本地完成。
字符类
| 语法 | 说明 |
|---|
. | 任意字符(换行符除外) |
\d | 数字,等价于 [0-9] |
\D | 非数字 |
\w | 单词字符 [A-Za-z0-9_] |
\W | 非单词字符 |
\s | 空白字符(空格、Tab、换行等) |
\S | 非空白字符 |
[abc] | a、b 或 c 中的任意一个 |
[^abc] | 除 a、b、c 外的任意字符 |
[a-z] | a 到 z 范围内的字符 |
\xhh | 十六进制 hh 表示的字符 |
\uhhhh | Unicode 码位 hhhh 的字符 |
量词
| 语法 | 说明 |
|---|
* | 0 次或多次 |
+ | 1 次或多次 |
? | 0 次或 1 次(可选) |
{n} | 恰好 n 次 |
{n,} | 至少 n 次 |
{n,m} | n 到 m 次 |
*? | 懒惰匹配:尽可能少 |
+? | 懒惰匹配:至少 1 次、尽可能少 |
分组与引用
| 语法 | 说明 |
|---|
(abc) | 捕获分组 |
(?:abc) | 非捕获分组 |
(?<name>abc) | 命名捕获分组 |
\1 | 反向引用第 1 个分组 |
\k<name> | 反向引用命名分组 |
a|b | a 或 b(分支) |
锚点与断言
| 语法 | 说明 |
|---|
^ | 行首 / 字符串开头 |
$ | 行尾 / 字符串结尾 |
\b | 单词边界 |
\B | 非单词边界 |
(?=abc) | 正向先行断言(后面是 abc) |
(?!abc) | 负向先行断言(后面不是 abc) |
(?<=abc) | 正向后行断言(前面是 abc) |
(?<!abc) | 负向后行断言(前面不是 abc) |
常用示例
| 语法 | 说明 |
|---|
^[\w.-]+@[\w-]+\.[\w.]+$ | 邮箱地址 |
^1[3-9]\d{9}$ | 中国大陆手机号 |
^https?://[\w.-]+ | HTTP/HTTPS 链接 |
^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])$ | 日期 YYYY-MM-DD |
^((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)$ | IPv4 地址 |
^#?([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$ | HEX 颜色值 |
^[a-zA-Z0-9_]{4,16}$ | 用户名(4-16 位字母数字下划线) |