正则表达式速查
按字符类、量词、分组与引用、断言、标志、常用模式分类速查 129 条正则语法,每条都带可直接运行的示例与匹配结果,支持关键字搜索与一键复制。
浏览器本地运行所有计算都在你的浏览器里完成,数据不会离开本机。
共 129 / 129 条
.任意单个字符,默认不匹配换行符字符类完整正则
/a.c/g示例文本
abc a-c axc匹配结果
abca-caxc3 处匹配\d数字 0-9,等价于 [0-9]字符类完整正则
/\d+/g示例文本
Order 42 has 7 items匹配结果
4272 处匹配\D非数字字符字符类完整正则
/\D+/g示例文本
123abc456匹配结果
abc1 处匹配\w单词字符:字母、数字与下划线字符类完整正则
/\w+/g示例文本
user_name-42匹配结果
user_name422 处匹配\W非单词字符字符类完整正则
/\W+/g示例文本
hello, world!匹配结果
,!2 处匹配\s空白字符:空格、制表符、换行字符类完整正则
/\s+/g示例文本
a b c匹配结果
2 处匹配\S非空白字符字符类完整正则
/\S+/g示例文本
a b c匹配结果
abc3 处匹配[abc]集合中的任意一个字符字符类完整正则
/[abc]+/g示例文本
cab dab匹配结果
cabab2 处匹配[^abc]不在集合中的任意字符字符类完整正则
/[^abc]+/g示例文本
abcxyz123匹配结果
xyz1231 处匹配[a-z]字符区间字符类完整正则
/[a-z]+/g示例文本
ABC def GHI匹配结果
def1 处匹配[a-zA-Z0-9_]多个区间组合字符类完整正则
/[a-zA-Z0-9_]+/g示例文本
id_42 Name!匹配结果
id_42Name2 处匹配[^0-9]排除数字区间字符类完整正则
/[^0-9]+/g示例文本
a1b2c3匹配结果
abc3 处匹配[\d]字符类可以写在集合里字符类完整正则
/[\d]+/g示例文本
abc123def匹配结果
1231 处匹配[a\-z]转义后的连字符表示字面量字符类完整正则
/[a\-z]+/g示例文本
a-z b匹配结果
a-z1 处匹配[\u4e00-\u9fff]常用汉字区间字符类完整正则
/[\u4e00-\u9fff]+/g示例文本
中文 mingled 混排匹配结果
中文混排2 处匹配[\s\S]任意字符,包含换行(与 . 的区别)字符类完整正则
/[\s\S]+/g示例文本
line1 line2匹配结果
line1 line21 处匹配[aeiou]元音字母集合字符类完整正则
/[aeiou]+/g示例文本
banana banana匹配结果
aaaaaa6 处匹配[\w-]单词字符或连字符字符类完整正则
/[\w-]+/g示例文本
kebab-case name匹配结果
kebab-casename2 处匹配*前面的元素出现 0 次或多次量词完整正则
/ab*c/g示例文本
ac abc abbbc匹配结果
acabcabbbc3 处匹配+前面的元素出现 1 次或多次量词完整正则
/ab+c/g示例文本
ac abc abbbc匹配结果
abcabbbc2 处匹配?前面的元素出现 0 次或 1 次量词完整正则
/colou?r/g示例文本
color colour匹配结果
colorcolour2 处匹配{n}恰好出现 n 次量词完整正则
/\d{3}/g示例文本
12 345 6789匹配结果
3456782 处匹配{n,}至少出现 n 次量词完整正则
/\d{2,}/g示例文本
1 23 456匹配结果
234562 处匹配{n,m}出现 n 到 m 次量词完整正则
/\d{2,4}/g示例文本
1234567匹配结果
12345672 处匹配*?惰性匹配,尽可能少地重复量词完整正则
/<.*?>/g示例文本
<a><b>匹配结果
<a><b>2 处匹配+?惰性匹配,但至少 1 次量词完整正则
/".+?"/g示例文本
"a" "b"匹配结果
"a""b"2 处匹配??优先不出现(惰性可选)量词完整正则
/https??/g示例文本
http https匹配结果
httphttp2 处匹配{n,m}?区间量词的惰性写法量词完整正则
/a{1,3}?/g示例文本
aaa匹配结果
aaa3 处匹配.*贪婪匹配到最远的可能位置量词完整正则
/a.*c/g示例文本
abc abc匹配结果
abc abc1 处匹配.*?最小匹配,配合分隔符使用量词完整正则
/a.*?c/g示例文本
abc abc匹配结果
abcabc2 处匹配x{0,1}{0,1} 与 ? 等价量词完整正则
/x{0,1}y/g示例文本
xy y匹配结果
xyy2 处匹配(ab)+量词作用于整个分组量词完整正则
/(ab)+/g示例文本
ababab匹配结果
ababab1 处匹配(abc)捕获分组,结果里可用 $1、$2 引用分组与引用完整正则
/(\w+)@(\w+)/g示例文本
alice@example bob@test匹配结果
alice@examplebob@test2 处匹配(?:abc)只分组不捕获,不占用引用编号分组与引用完整正则
/(?:ab)+c/g示例文本
ababc匹配结果
ababc1 处匹配(?<name>...)具名分组,可读性更好分组与引用完整正则
/(?<year>\d{4})-(?<month>\d{2})/g示例文本
2026-10匹配结果
2026-101 处匹配\k<name>引用具名分组,匹配配对引号分组与引用完整正则
/(?<q>")\w+\k<q>/g示例文本
"hi" "yo"匹配结果
"hi""yo"2 处匹配\1引用第 1 个捕获分组,匹配重复字分组与引用完整正则
/(\w)\1/g示例文本
hello book匹配结果
lloo2 处匹配a|b或:匹配任意一侧分组与引用完整正则
/cat|dog/g示例文本
cat dog bird匹配结果
catdog2 处匹配(?:a|b)+分组后的多选重复分组与引用完整正则
/(?:cat|dog)+/g示例文本
catdogcat匹配结果
catdogcat1 处匹配((a)(b))嵌套分组,按左括号顺序编号分组与引用完整正则
/((a)(b))/g示例文本
ab匹配结果
ab1 处匹配$1替换里引用第 1 个分组("$2 $1" 可交换顺序)分组与引用完整正则
/(\w+) (\w+)/g示例文本
hello world匹配结果
hello world1 处匹配$&替换里代表整个匹配内容分组与引用完整正则
/\d+/g示例文本
abc 123 def匹配结果
1231 处匹配$<name>替换里引用具名分组分组与引用完整正则
/(?<word>\w+)/g示例文本
hello匹配结果
hello1 处匹配$$替换里输出一个字面量美元符号分组与引用完整正则
/a/g示例文本
a匹配结果
a1 处匹配()空分组,用于生成空捕获或占位分组与引用完整正则
/()b/g示例文本
ab匹配结果
b1 处匹配^字符串开头(m 标志下是每行开头)断言完整正则
/^\w+/gm示例文本
hello world匹配结果
hello1 处匹配$字符串结尾断言完整正则
/\w+$/g示例文本
hello world匹配结果
world1 处匹配\b单词边界,避免匹配到 hotdog 里的 dog断言完整正则
/\bdog\b/g示例文本
dog hotdog dog匹配结果
dogdog2 处匹配\B非单词边界断言完整正则
/\Bdog\B/g示例文本
hotdogish dog匹配结果
dog1 处匹配(?=x)正向先行断言:后面必须是指定内容(不消耗字符)断言完整正则
/\d+(?=元)/g示例文本
价格 100元 与 50 件匹配结果
1001 处匹配(?!x)负向先行断言:后面不能是指定内容断言完整正则
/\d+(?!元)/g示例文本
100元 50 件匹配结果
10502 处匹配(?<=x)正向后行断言:前面必须是指定内容断言完整正则
/(?<=\$)\d+/g示例文本
price $42 and 30匹配结果
421 处匹配(?<!x)负向后行断言:前面不能是指定内容断言完整正则
/(?<!\$)\b\d+\b/g示例文本
$42 and 30匹配结果
301 处匹配^ + mm 标志让 ^ 匹配每一行开头断言完整正则
/^\w+/gm示例文本
one two three匹配结果
onetwothree3 处匹配$ + mm 标志让 $ 匹配每一行结尾断言完整正则
/\w+$/gm示例文本
one two匹配结果
onetwo2 处匹配(?=.*\d)(?=.*[a-z])多个先行断言组合成密码规则断言完整正则
/^(?=.*\d)(?=.*[a-z]).{6,}$/g示例文本
abc123匹配结果
abc1231 处匹配(?!.*(.)\1)禁止连续重复字符的写法断言完整正则
/^(?!.*(.)\1).+$/g示例文本
abcdef匹配结果
abcdef1 处匹配(?<=\s)x(?=\s)同时使用前后断言定位被空格包围的词断言完整正则
/(?<=\s)cat(?=\s)/g示例文本
a cat b匹配结果
cat1 处匹配^(?!_)断言开头不是下划线断言完整正则
/^(?!_)\w+$/g示例文本
name匹配结果
name1 处匹配(?<=\.)\w+$取扩展名,但不把点号算进结果断言完整正则
/(?<=\.)\w+$/g示例文本
report.pdf匹配结果
pdf1 处匹配(?=(\w+))断言里也能捕获分组断言完整正则
/(?=(\d{2}))/g示例文本
ab12cd34匹配结果
2 处匹配foo(?!bar)匹配后面不是 bar 的 foo断言完整正则
/foo(?!bar)/g示例文本
foo foobar匹配结果
foo1 处匹配g全局匹配,找到所有结果而不是第一个标志完整正则
/a/g示例文本
banana匹配结果
aaa3 处匹配i忽略大小写标志完整正则
/hello/gi示例文本
Hello HELLO hello匹配结果
HelloHELLOhello3 处匹配m^ 与 $ 按行匹配标志完整正则
/^b/gm示例文本
a b c匹配结果
b1 处匹配s让 . 也能匹配换行符标志完整正则
/a.b/gs示例文本
a b匹配结果
a b1 处匹配uUnicode 模式,按码点处理 Emoji 与 \p{...}标志完整正则
/^.$/gu示例文本
👍匹配结果
👍1 处匹配y粘性匹配,只从 lastIndex 处开始匹配标志完整正则
/foo/gy示例文本
foofoo匹配结果
foofoo2 处匹配d在结果里额外给出匹配的下标标志完整正则
/\d+/gd示例文本
abc 123匹配结果
1231 处匹配[\w.%+-]+@[\w.-]+\.[A-Za-z]{2,}宽松邮箱:从正文里挑出地址常用模式完整正则
/[\w.%+-]+@[\w.-]+\.[A-Za-z]{2,}/g示例文本
contact hi@example.com now匹配结果
hi@example.com1 处匹配^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$严格邮箱:整串校验常用模式完整正则
/^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$/g示例文本
alice@example.com匹配结果
alice@example.com1 处匹配^https?:\/\/[\w.-]+(?::\d+)?(?:\/[^\s]*)?$http/https 地址,可带端口与路径常用模式完整正则
/^https?:\/\/[\w.-]+(?::\d+)?(?:\/[^\s]*)?$/g示例文本
https://example.com/docs?page=1匹配结果
https://example.com/docs?page=11 处匹配^(?:[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?\.)+[A-Za-z]{2,}$域名(含各级子域)常用模式完整正则
/^(?:[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?\.)+[A-Za-z]{2,}$/g示例文本
www.example.com匹配结果
www.example.com1 处匹配\d{1,3}(?:\.\d{1,3}){3}IPv4 粗略匹配常用模式完整正则
/\d{1,3}(?:\.\d{1,3}){3}/g示例文本
ip 192.168.1.1 ok匹配结果
192.168.1.11 处匹配(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)){3}IPv4 严格匹配:每段 0-255常用模式完整正则
/(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)){3}/g示例文本
192.168.1.1 与 999.1.1.1匹配结果
192.168.1.199.1.1.12 处匹配(?:[0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}完整写法的 IPv6 地址常用模式完整正则
/(?:[0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}/g示例文本
2001:0db8:0000:0000:0000:ff00:0042:8329匹配结果
2001:0db8:0000:0000:0000:ff00:0042:83291 处匹配^\d{4}-\d{2}-\d{2}$YYYY-MM-DD 日期常用模式完整正则
/^\d{4}-\d{2}-\d{2}$/g示例文本
2026-10-10匹配结果
2026-10-101 处匹配^(\d{4})年(\d{1,2})月(\d{1,2})日$中文日期,顺便捕获年月日常用模式完整正则
/^(\d{4})年(\d{1,2})月(\d{1,2})日$/g示例文本
2026年10月10日匹配结果
2026年10月10日1 处匹配^([01]\d|2[0-3]):[0-5]\d$24 小时制 HH:MM常用模式完整正则
/^([01]\d|2[0-3]):[0-5]\d$/g示例文本
09:30匹配结果
09:301 处匹配^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}(?::\d{2})?(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$ISO 8601 时间戳常用模式完整正则
/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}(?::\d{2})?(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/g示例文本
2026-10-10T08:30:00Z匹配结果
2026-10-10T08:30:00Z1 处匹配^1[3-9]\d{9}$中国大陆手机号常用模式完整正则
/^1[3-9]\d{9}$/g示例文本
13800138000匹配结果
138001380001 处匹配^0\d{2,3}-\d{7,8}$中国座机号(带区号)常用模式完整正则
/^0\d{2,3}-\d{7,8}$/g示例文本
010-12345678匹配结果
010-123456781 处匹配^[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]$中国大陆 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]$/g示例文本
11010119900307721X匹配结果
11010119900307721X1 处匹配^[1-9]\d{5}$中国大陆 6 位邮政编码常用模式完整正则
/^[1-9]\d{5}$/g示例文本
100000匹配结果
1000001 处匹配^[\u4e00-\u9fa5][A-Z][A-Z0-9]{5}$中国车牌号(普通燃油车)常用模式完整正则
/^[\u4e00-\u9fa5][A-Z][A-Z0-9]{5}$/g示例文本
京A12345匹配结果
京A123451 处匹配^[\u4e00-\u9fa5]{2,4}$中文姓名 2 – 4 个汉字常用模式完整正则
/^[\u4e00-\u9fa5]{2,4}$/g示例文本
张三丰匹配结果
张三丰1 处匹配^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[^\w\s]).{8,}$强密码:至少 8 位且含大小写、数字、符号常用模式完整正则
/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[^\w\s]).{8,}$/g示例文本
Abc123!@#匹配结果
Abc123!@#1 处匹配^[a-zA-Z][a-zA-Z0-9_]{2,15}$用户名:字母开头,3 – 16 位常用模式完整正则
/^[a-zA-Z][a-zA-Z0-9_]{2,15}$/g示例文本
alice_2026匹配结果
alice_20261 处匹配#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6})\b十六进制颜色值常用模式完整正则
/#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6})\b/g示例文本
color: #fff and #A1B2C3匹配结果
#fff#A1B2C32 处匹配rgba?\(\s*\d{1,3}\s*,\s*\d{1,3}\s*,\s*\d{1,3}(?:\s*,\s*(?:0|1|0?\.\d+))?\s*\)rgb() / rgba() 颜色常用模式完整正则
/rgba?\(\s*\d{1,3}\s*,\s*\d{1,3}\s*,\s*\d{1,3}(?:\s*,\s*(?:0|1|0?\.\d+))?\s*\)/g示例文本
rgb(255, 0, 0) rgba(0, 0, 0, 0.5)匹配结果
rgb(255, 0, 0)rgba(0, 0, 0, 0.5)2 处匹配^-?\d+$整数(可带负号)常用模式完整正则
/^-?\d+$/g示例文本
-42匹配结果
-421 处匹配-?\d+\.\d+小数常用模式完整正则
/-?\d+\.\d+/g示例文本
3.14 -0.5匹配结果
3.14-0.52 处匹配[+-]?\d+(?:\.\d+)?[eE][+-]?\d+科学计数法常用模式完整正则
/[+-]?\d+(?:\.\d+)?[eE][+-]?\d+/g示例文本
1.5e10 -3E-5匹配结果
1.5e10-3E-52 处匹配\b\d{1,3}(?:,\d{3})+\b千分位数字常用模式完整正则
/\b\d{1,3}(?:,\d{3})+\b/g示例文本
total 1,234,567 items匹配结果
1,234,5671 处匹配\d+\.\d{2}(?=\s|$)金额:两位小数常用模式完整正则
/\d+\.\d{2}(?=\s|$)/g示例文本
price 19.90 now匹配结果
19.901 处匹配\d+(?:\.\d+)?%百分比常用模式完整正则
/\d+(?:\.\d+)?%/g示例文本
增长 12.5% 与 30%匹配结果
12.5%30%2 处匹配0[xX][0-9a-fA-F]+十六进制字面量常用模式完整正则
/0[xX][0-9a-fA-F]+/g示例文本
0xFF 0X1a 10匹配结果
0xFF0X1a2 处匹配0[bB][01]+二进制字面量常用模式完整正则
/0[bB][01]+/g示例文本
0b1010 0B11 5匹配结果
0b10100B112 处匹配0[oO][0-7]+八进制字面量常用模式完整正则
/0[oO][0-7]+/g示例文本
0o755 8匹配结果
0o7551 处匹配^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$UUID v4常用模式完整正则
/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/g示例文本
f47ac10b-58cc-4372-a567-0e02b2c3d479匹配结果
f47ac10b-58cc-4372-a567-0e02b2c3d4791 处匹配^[a-f0-9]{32}$MD5 十六进制摘要常用模式完整正则
/^[a-f0-9]{32}$/g示例文本
d41d8cd98f00b204e9800998ecf8427e匹配结果
d41d8cd98f00b204e9800998ecf8427e1 处匹配^[a-f0-9]{64}$SHA-256 十六进制摘要常用模式完整正则
/^[a-f0-9]{64}$/g示例文本
ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad匹配结果
ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad1 处匹配^[A-Za-z0-9+/]+={0,2}$Base64 字符串常用模式完整正则
/^[A-Za-z0-9+/]+={0,2}$/g示例文本
aGVsbG8=匹配结果
aGVsbG8=1 处匹配^[\w-]+\.[\w-]+\.[\w-]+$JWT:三段式结构常用模式完整正则
/^[\w-]+\.[\w-]+\.[\w-]+$/g示例文本
eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxIn0.abc123匹配结果
eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxIn0.abc1231 处匹配^(?:4\d{12}(?:\d{3})?|5[1-5]\d{14})$银行卡号(Visa / MasterCard 简单校验)常用模式完整正则
/^(?:4\d{12}(?:\d{3})?|5[1-5]\d{14})$/g示例文本
4111111111111111匹配结果
41111111111111111 处匹配<\/?[a-zA-Z][\w-]*(?:\s[^<>]*)?>HTML 标签(含属性)常用模式完整正则
/<\/?[a-zA-Z][\w-]*(?:\s[^<>]*)?>/g示例文本
<p class="x">text</p>匹配结果
<p class="x"></p>2 处匹配\[([^\]]+)\]\(([^)]+)\)Markdown 链接,捕获文字与地址常用模式完整正则
/\[([^\]]+)\]\(([^)]+)\)/g示例文本
see [文档](https://example.com)匹配结果
[文档](https://example.com)1 处匹配"[^"\\]*(?:\\.[^"\\]*)*"双引号字符串,支持转义引号常用模式完整正则
/"[^"\\]*(?:\\.[^"\\]*)*"/g示例文本
"hello \"world\""匹配结果
"hello \"world\""1 处匹配^([^,\n]+)(?:,([^,\n]+))*$简单 CSV 行(不含引号转义)常用模式完整正则
/^([^,\n]+)(?:,([^,\n]+))*$/g示例文本
a,b,c匹配结果
a,b,c1 处匹配^(?:\/[\w.-]+)+\/?$Unix 绝对路径常用模式完整正则
/^(?:\/[\w.-]+)+\/?$/g示例文本
/usr/local/bin匹配结果
/usr/local/bin1 处匹配^[A-Za-z]:\\(?:[^\\/:*?"<>|]+\\?)*$Windows 绝对路径常用模式完整正则
/^[A-Za-z]:\\(?:[^\\/:*?"<>|]+\\?)*$/g示例文本
C:\Users\alice匹配结果
C:\Users\alice1 处匹配\.\w+$文件扩展名常用模式完整正则
/\.\w+$/g示例文本
report.pdf匹配结果
.pdf1 处匹配#[\w\u4e00-\u9fff]+话题标签(中英混排)常用模式完整正则
/#[\w\u4e00-\u9fff]+/g示例文本
发帖 #unikit #工具 很好用匹配结果
#unikit#工具2 处匹配@[A-Za-z0-9_]{2,}@ 提及用户名常用模式完整正则
/@[A-Za-z0-9_]{2,}/g示例文本
@alice @bob_2匹配结果
@alice@bob_22 处匹配\p{Emoji_Presentation}+Emoji(需要 u 标志)常用模式完整正则
/\p{Emoji_Presentation}+/gu示例文本
hello 👍🎉 world匹配结果
👍🎉1 处匹配\.转义点号,匹配字面量句点转义与 Unicode完整正则
/\d+\.\d+/g示例文本
pi is 3.14匹配结果
3.141 处匹配\*转义星号,匹配字面量 *转义与 Unicode完整正则
/a\*b/g示例文本
a*b匹配结果
a*b1 处匹配\/转义斜杠(正则字面量里常用)转义与 Unicode完整正则
/^\/\w+/g示例文本
/home匹配结果
/home1 处匹配\\匹配一个反斜杠转义与 Unicode完整正则
/\\/g示例文本
C:\Users匹配结果
\1 处匹配\n换行符转义与 Unicode完整正则
/\n/g示例文本
line1 line2匹配结果
1 处匹配\t制表符转义与 Unicode完整正则
/\t/g示例文本
a b匹配结果
1 处匹配\r回车符(CRLF 文本)转义与 Unicode完整正则
/\r/g示例文本
a b匹配结果
1 处匹配\x41两位十六进制转义,\x41 即 A转义与 Unicode完整正则
/\x41+/g示例文本
AAA匹配结果
AAA1 处匹配\u4e2d四位 Unicode 转义转义与 Unicode完整正则
/\u4e2d\u6587/g示例文本
中文匹配结果
中文1 处匹配\u{1F600}码点转义,需要 u 标志转义与 Unicode完整正则
/\u{1F600}/gu示例文本
😀匹配结果
😀1 处匹配\p{L}Unicode 字母(需要 u 标志)转义与 Unicode完整正则
/\p{L}+/gu示例文本
中文 abc 123匹配结果
中文abc2 处匹配\p{Nd}Unicode 十进制数字(需要 u 标志)转义与 Unicode完整正则
/\p{Nd}+/gu示例文本
abc 123 中文匹配结果
1231 处匹配\P{L}\p{L} 的补集转义与 Unicode完整正则
/\P{L}+/gu示例文本
abc 123匹配结果
1231 处匹配\p{Script=Han}按书写系统筛选,Han 即汉字转义与 Unicode完整正则
/\p{Script=Han}+/gu示例文本
混合 han 汉字匹配结果
混合汉字2 处匹配
这个工具能做什么
- 写正则时忘了某个语法怎么写:按分类(字符类、量词、分组与引用、断言、标志、常用模式、转义与 Unicode)翻一遍就够了。
- 每条语法都带一个可以直接运行的完整正则和示例文本,页面会实时显示匹配结果,不用先复制到控制台试。
- 排查「为什么这个正则匹配不到」时对照同一条目的示例,确认自己漏了标志(比如忘了 g)还是量词写错了。
- 搜索关键词就能定位条目:搜「邮箱」会命中常用模式里的邮箱正则,搜 lookahead 会列出所有前瞻写法。
示例
输入
搜索关键字「lookahead」
输出
命中 4 条:lookahead | (?=x) · negative-lookahead | (?!x) · password-lookaheads | (?=.*\d)(?=.*[a-z]) · lookahead-capture | (?=(\w+))
搜索不区分大小写,语法、中英说明、示例正则和 id 都参与匹配;示例正则运行时会自动补上 g 标志。
常见问题
一共收录了多少条语法?
129 条,分 7 个分类:字符类 18 条、量词 14 条、分组与引用 13 条、断言 17 条、标志 7 条、常用模式 46 条、转义与 Unicode 14 条。常用模式里包含邮箱、URL、手机号这类可以直接抄的完整正则。
示例里的匹配结果是实时算出来的吗?
是。每条示例都用页面里的 JavaScript 正则引擎跑一遍,匹配结果、捕获分组和位置都来自真实执行结果,不是预先写死的文本。所以不同浏览器引擎的差异也能直接看出来。
为什么示例正则带了 g 标志?
为了让示例文本里的所有匹配都显示出来。条目自带的标志会与 g 合并去重,例如某条本来用 i,运行时会用 gi,这样既保留语义又能列出全部命中。
单条示例最多显示多少匹配?
最多 50 处。这是为了避免回溯爆炸或超长文本把页面卡住,达到上限后会停止继续匹配,不会无限循环。
这里的语法是哪个引擎的?
JavaScript 的 RegExp,也就是 ECMAScript 方言。不同语言的差异不小,例如 Python 的命名组是 (?P<name>),Java 的 语义也略有区别,跨语言使用时注意核对。
关键词:regexregexp正则正则表达式cheat sheet速查lookahead断言常用正则