常用正则表达式手册
更新于 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]$
仅校验格式(地区码+出生日期+顺序码+校验位结构),不代表号码真实有效,真实性核验需结合官方校验位算法或权威接口。
对应工具
常见问题
贪婪匹配和非贪婪匹配有什么区别?
贪婪模式(如.*)默认尽可能多地匹配字符;在量词后加?(如.*?)变为非贪婪模式,尽可能少地匹配,常用于提取成对标签间的最短内容。
为什么邮箱正则校验通过了但实际是无效邮箱?
正则只能校验格式是否符合规则,无法验证域名是否真实存在或邮箱是否可达,完整校验还需结合发送验证邮件等手段。
相关教程
官方资料来源