点击表达式即复制;要在线测试请用「正则测试」工具。
字符类
| . | 任意单个字符(默认不含换行) |
| \d \D | 数字 / 非数字 |
| \w \W | 单词字符 [A-Za-z0-9_] / 非单词字符 |
| \s \S | 空白 / 非空白 |
| [abc] | 字符集合:a 或 b 或 c |
| [^abc] | 取反:非 a/b/c |
| [a-z] [0-9] | 范围 |
| \b \B | 单词边界 / 非边界 |
| \t \n \r | 制表 / 换行 / 回车 |
| \uXXXX | Unicode 码点 |
量词
| * | 0 次或多次 |
| + | 1 次或多次 |
| ? | 0 次或 1 次 |
| {n} | 恰好 n 次 |
| {n,} | 至少 n 次 |
| {n,m} | n 到 m 次 |
| *? +? ?? {n,m}? | 非贪婪(尽可能少) |
锚点与分组
| ^ $ | 行首 / 行尾(m 标志下按行) |
| (abc) | 捕获分组 |
| (?:abc) | 非捕获分组 |
| (?<name>abc) | 命名分组 |
| \1 \k<name> | 反向引用 |
| a|b | 或 |
断言
| (?=abc) | 正向先行:后面是 abc |
| (?!abc) | 负向先行:后面不是 abc |
| (?<=abc) | 正向后行:前面是 abc |
| (?<!abc) | 负向后行:前面不是 abc |
标志
| g | 全局匹配 |
| i | 忽略大小写 |
| m | 多行模式(^ $ 按行) |
| s | 单行模式(. 匹配换行) |
| u | Unicode 模式 |
| y | 粘连模式 |
常用模式
| ^1[3-9]\d{9}$ | 中国大陆手机号 |
| ^[\w.+-]+@[\w-]+(\.[\w-]+)+$ | 邮箱 |
| ^https?://[^\s/$.?#].[^\s]*$ | URL |
| ^(25[0-5]|2[0-4]\d|1?\d?\d)(\.(25[0-5]|2[0-4]\d|1?\d?\d)){3}$ | IPv4 |
| ^\d{6}$ | 邮政编码 |
| ^\d{17}[\dXx]$ | 18 位身份证 |
| ^[一-龥]+$ | 纯中文 |
| ^\d{4}-\d{2}-\d{2}$ | 日期 YYYY-MM-DD |
| ^([01]\d|2[0-3]):[0-5]\d$ | 时间 HH:MM |
| ^#?([0-9a-fA-F]{3}){1,2}$ | 十六进制颜色 |
| ^(?=.*[A-Z])(?=.*[a-z])(?=.*\d).{8,}$ | 强密码:大小写+数字≥8位 |
| <[^>]+> | HTML 标签 |
| ^\s+|\s+$ | 首尾空白 |
| (\d)(?=(\d{3})+$) | 千分位插入点 |