跳到主内容
UniKit

正则表达式速查

按字符类、量词、分组与引用、断言、标志、常用模式分类速查 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断言常用正则

同类工具