← 返回工具箱

正则表达式速查表

更新于 2026 年 10 月 · 收藏备用,写完 regex 去在线测试工具验证

字符匹配

符号含义
.除换行外的任意字符
\d / \D数字 / 非数字
\w / \W字母数字下划线 / 反之
\s / \S空白字符 / 非空白
[abc]abc 中任意一个
[^abc]非 abc 的任意字符
[0-9] / [a-z]范围

量词

符号含义
*0 次或多次
+1 次或多次
?0 次或 1 次
{n} / {n,} / {n,m}恰好 n 次 / 至少 n 次 / n 到 m 次
*? / +?非贪婪模式(最少匹配)

位置与分组

符号含义
^ / $字符串开头 / 结尾
\b单词边界
(abc)捕获组,可用 $1 引用
(?:abc)非捕获组
a|b或
(?=abc) / (?!abc)正向先行断言 / 负向先行断言

常用实例(直接抄)

场景正则
手机号(中国大陆)^1[3-9]\d{9}$
邮箱^[\w.-]+@[\w.-]+\.\w+$
URL^https?://[\w.-]+(:\d+)?(/.*)?$
身份证号(18位)^[1-9]\d{5}(19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}[\dXx]$
IPv4^(\d{1,3}\.){3}\d{1,3}$
日期 YYYY-MM-DD^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])$
密码(8位+,含字母数字)^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$
去除首尾空格^\s+|\s+$(替换为空)

避坑提醒

1. 邮箱/URL 别追求"完美正则",RFC 级别的邮箱正则有几千字符,够用就行,关键校验发一封验证邮件。
2. 警惕灾难性回溯:(a+)+$ 这类嵌套量词配长字符串会卡死,加具体边界或改用非贪婪。
3. 用户输入拼进正则前,先用转义函数处理特殊字符,别直接拼接。

写完来验证一下

打开正则测试工具 →