常用正则表达式
本工具罗列出诸多常用的正则表达式,附带表达式详解和示例。
一、表单验证类(最常用)
用途 | 正则表达式 | 示例 / 说明 |
---|---|---|
邮箱 |
^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
|
abc@example.com 验证标准邮箱格式 |
手机号(中国大陆) |
^1[3-9]\d{9}$
|
13812345678 11位,以 13-19 开头 |
身份证号(18位,简单校验) |
^\d{17}[\dXx]$
|
11010519900307233X 最后一位可以是数字或X |
身份证号(15位,旧版) |
^\d{15}$
|
110105800101001 |
URL(网址) |
^https?://[^\s/$.?#].[^\s]*
|
https://www.example.com 支持 http / https |
IP 地址(IPv4) |
`^(25[0-5]
|
2[0-4][0-9] |
密码强度(至少8位,含字母+数字) |
^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d@$!%*#?&]{8,}$
|
abc12345 推荐用于用户注册密码校验 |
密码强度(含特殊字符) |
^(?=.*[!@#$%^&*]).{8,}$
|
至少一个特殊符号 |
强密码(大小写字母 + 数字 + 特殊字符,8位以上) |
^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!?%*#&])[A-Za-z\d@$!?%*#&]{8,}$
|
Abc@1234 |
用户名(字母开头,允许字母数字下划线,4-16位) |
^[a-zA-Z][a-zA-Z0-9_]{3,15}$
|
user_123 |
邮政编码(中国) |
^[1-9]\d{5}$
|
6位数字,如 100080 |
二、字符/格式类(通用匹配)
用途 | 正则表达式 | 说明 |
---|---|---|
纯数字 |
^\d+$
|
匹配 123456 这样的数字字符串 |
正整数 |
^[1-9]\d*$
|
不允许前导零,如 0123 不合法 |
非负整数(包括0) |
^\d+$或 ^[0-9]+$
|
|
小数 / 浮点数 |
^\d+\.\d+$或更严格:^-?\d+(\.\d+)?$
|
支持正负小数,如 3.14, -0.5 |
正浮点数 |
`^\d*.\d+
|
\d+.\d* 或 [0−9]+([˙0−9]+)? |
字母(仅英文字母) |
^[A-Za-z]+$
|
只允许大小写字母 |
字母 + 数字 |
^[A-Za-z0-9]+$
|
无特殊符号,如验证码 匹配 abc123, 排除 a_b |
中文字符 |
^[\u4e00-\u9fa5]+$
|
匹配纯中文,如 中文测试 |
中文 + 英文 + 数字 |
^[\u4e00-\u9fa5A-Za-z0-9]+$
|
常用于昵称、姓名 |
只包含字母、数字、下划线 |
^\w+$等价于 ^[A-Za-z0-9_]+$
|
|
禁止特殊字符 |
^[^<>{}[\]\\\'\"]+$
|
排除一些危险或特殊符号 |
三、网络与编码类
用途 | 正则表达式 | 说明 |
---|---|---|
域名(简单) |
^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$
|
如 example.com |
URL(HTTP/HTTPS) |
^https?://[^\s/$.?#].[^\s]*$
|
匹配 https://example.com/path |
十六进制颜色代码 |
`^#([A-Fa-f0-9]{6}
|
[A-Fa-f0-9]{3})$` |
UUID |
^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
|
如 550e8400-e29b-41d4-a716-446655440000 |
Base64格式(简单判断) |
^[A-Za-z0-9+/]+={0,2}$
|
通常用于编码数据 |
四、日期与时间类
用途 | 正则表达式 | 说明 |
---|---|---|
YYYY-MM-DD 日期 |
`^\d{4}-(0[1-9]
|
1[0-2])-(0[1-9] |
YYYY/MM/DD |
`^\d{4}/(0[1-9]
|
1[0-2])/(0[1-9] |
简单时间 HH:MM:SS |
`^([01]\d
|
2[0-3]):([0-5]\d):([0-5]\d)$` |
日期时间(YYYY-MM-DD HH:MM:SS) |
`^\d{4}-(0[1-9]
|
1[0-2])-(0[1-9] |
五、文本/编程/标记类
用途 | 正则表达式 | 说明 |
---|---|---|
HTML 标签(简单匹配) |
<[^>]+>
|
匹配如 <div>, <p class="xxx"> |
Email地址 基础版(匹配大多数常见邮箱) |
^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$
|
允许:数字、字母、下划线 + @ + 域名 支持:-、_、. 符号(但不会连续出现) 示例匹配:user.name+123@example.com.cn |
Email地址 严格版(符合RFC 5322标准) | ^(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])$ |
完全遵循RFC标准,支持复杂格式(如带引号的本地部分和IP地址域名) 但可读性差,实际项目中可能过度严格 |
Email地址 实用版(平衡严格性和可读性) |
^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
|
允许:字母、数字 + ._%+- 符号 要求:域名至少2位字母(如 .com、.cn) 排除:连续特殊符号或非标准字符 |
Email地址 带国际域名支持版 |
^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,20}$
|
限制域名后缀长度为2-20个字符(覆盖国际化长域名) |
提取 URL |
https?:\/\/[^\s]+
|
从文本中匹配链接 |
手机号(从文本提取) |
1[3-9]\d{9}
|
扫描文本中的手机号 |
IP 地址(从文本中提取) |
\b(?:\d{1,3}\.){3}\d{1,3}\b
|
简单匹配,不校验范围 |
中文标点符号 |
[\u3000-\u303F\uff00-\uffef]
|
如 ,。!?、;:“”‘’()【】 |
匹配连续重复字符(如 aaa) |
(.)\1{2,}
|
匹配任意字符重复 3 次及以上 |
六、边界与特殊符号类
用途 | 正则表达式 | 说明 |
---|---|---|
字符串开头 ^ 与结尾 $ |
^abc$
|
必须完全等于 abc |
单词边界 \b |
\bword\b
|
匹配独立单词 "word" |
任意字符 . |
a.b
|
匹配如 abc, a1c, a@c |
空白字符 \s |
^\s*$
|
匹配全空或只有空格/Tab 的字符串 |
非空白 \S |
^\S+$
|
不允许有空格 |
数字 \d |
^\d{3}$
|
等价于 [0-9] |
非数字 \D |
^\D+$
|
不是数字的字符 |
单词字符 \w |
^\w{5,12}$
|
等价于 [A-Za-z0-9_] |
七、正则表达式常用语法速查表
符号 | 含义 | 示例 |
---|---|---|
. | 匹配任意单个字符(除换行) | a.c→ abc |
^ | 匹配字符串开头 | ^abc |
$ | 匹配字符串结尾 | abc$ |
* | 前一个字符 0 次或多次 | a*→ "", a, aa... |
+ | 前一个字符 1 次或多次 | a+→ a, aa... |
? | 前一个字符 0 或 1 次 | a?→ "", a |
{n} | 前一个字符恰好 n 次 | a{3}→ aaa |
{n,} | 至少 n 次 | a{2,}→ aa, aaa... |
{n,m} | n 到 m 次 | a{2,4} |
[] | 匹配其中任意一个字符 | [aeiou] |
[^ ] | 不匹配括号内字符 | [^0-9] |
` | ` | 或 |
( ) | 分组,可捕获 | (abc)+ |
\d | 数字 [0-9] | |
\D | 非数字 | |
\w | 单词字符 [A-Za-z0-9_] | |
\W | 非单词字符 | |
\s | 空白字符 | |
\S | 非空白 | |
\b | 单词边界 | |
`` | 转义字符 | \., \*, \\ |
本站还提供了 正则表达式测试 工具,帮助你来检测正则表达式是否生效,是否能匹配到结果。