正则表达式速查表

字符类到断言到常用模式,一页查全;每条一句人话解释,可筛选。

正则的语法密度极高—— lookahead、惰性量词、命名分组这些词每个都对,但隔一周不用就记不清细节。这份速查按六个分节组织:字符与类、量词、分组与引用、断言、标志、常用模式,每条语法配一句「人话」说明,按语法或用途关键字即可筛选(如搜 lookahead 或 量词)。

常用模式一节收录了邮箱、URL、ISO 日期、IPv4(严格范围)、手机号等高频正则,并注明各自的适用边界——比如邮箱正则只适合初筛,真实验证靠发送邮件;解析 HTML 不该用正则。

贪婪与惰性:量词的默认陷阱

量词默认贪婪:.* 会一路吃到行尾再往回让。提取 HTML 标签内的内容时 <.*> 会吞掉整行,<.*?> 才是逐标签匹配。速查里把两组对照列出——多数「正则怎么多吃了我想要的」问题都出在忘了加 ?。

断言消耗字符吗

不消耗。(?=abc) 只要求「后面是 abc」,匹配位置不前进,所以 (?=.*\d)(?=.*[a-z]) 这类连续断言能对同一位置做多重检查——密码强度校验的惯用法。后行断言 (?<=…) 与之对称,检查「前面」。

常见问题

这里的正则是哪个方言?
以 JavaScript(ECMAScript)为准,与 PCRE 高度重叠;个别差异(如后行断言的支持范围、\d 的 Unicode 行为)以你运行环境的文档为准。
怎么验证速查里的正则?
点页面右上角的「在正则测试器中打开」,进入本站正则测试器实时调试,支持高亮与分组捕获展示。
为什么邮箱正则不追求完整 RFC 兼容?
RFC 5322 兼容的正则长达数千字符且几乎没人用。工程实践是:正则做格式初筛,真实有效性靠发送验证邮件确认。

相关工具