常用正则表达式手册

更新于 2026年7月25日

适用人群:需要编写表单校验、日志过滤、数据清洗规则的开发者和运营人员。

核心概念

核心元字符对照表

符号 类型 含义
. 元字符 匹配除换行符外的任意单个字符
* 量词 匹配前一个字符0次或多次
+ 量词 匹配前一个字符1次或多次
? 量词 匹配前一个字符0次或1次(也用于非贪婪修饰)
{n,m} 量词 匹配前一个字符至少n次、至多m次
[] 字符类 匹配方括号内任意一个字符,如[a-z0-9]
[^] 字符类 匹配不在方括号内的任意字符
() 分组 将内容分组,可配合|或量词整体处理,支持捕获
| 表示左右任一分支匹配即可
^ 断言 匹配字符串(或行)开头
$ 断言 匹配字符串(或行)结尾
\d 字符类简写 匹配数字,等价于[0-9]
\w 字符类简写 匹配字母数字下划线,等价于[A-Za-z0-9_]
\s 字符类简写 匹配空白字符(空格、制表符、换行)
\b 断言 匹配单词边界
(?=...) 断言 正向先行断言,要求后面满足条件但不消耗字符
(?!...) 断言 负向先行断言,要求后面不满足条件

常用正则示例

中国大陆手机号

^1[3-9]\d{9}$

匹配以1开头、第二位3-9、共11位数字;仅做格式校验,不保证号段真实存在。

邮箱

^[\w.+-]+@[\w-]+\.[a-zA-Z]{2,}$

覆盖大多数常见邮箱格式,完整RFC邮箱规则远比这复杂,实务中此简化版已够用。

URL

^https?:\/\/[\w.-]+(:\d+)?(\/[\w\-./?%&=]*)?$

匹配http/https开头的常见URL结构,含可选端口和路径参数。

中国大陆身份证号(18位)

^[1-9]\d{5}(18|19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}[\dXx]$

仅校验格式(地区码+出生日期+顺序码+校验位结构),不代表号码真实有效,真实性核验需结合官方校验位算法或权威接口。

对应工具

常见问题

贪婪匹配和非贪婪匹配有什么区别?
贪婪模式(如.*)默认尽可能多地匹配字符;在量词后加?(如.*?)变为非贪婪模式,尽可能少地匹配,常用于提取成对标签间的最短内容。
为什么邮箱正则校验通过了但实际是无效邮箱?
正则只能校验格式是否符合规则,无法验证域名是否真实存在或邮箱是否可达,完整校验还需结合发送验证邮件等手段。

相关教程

官方资料来源