RUNWEBTOOLS
简体中文

正则表达式速查表

正则表达式(regex)是用于匹配文本的模式 —— 用于查找替换、验证和提取。下面的语法是 JavaScript、Python、PCRE 及大多数现代引擎共有的通用风格。搜索任意令牌即可跳转。

更新 2026-07-06

字符类

令牌匹配示例
.除换行外的任意字符a.c → abc, a7c
\d任意数字(0–9)\d\d → 42
\D任意非数字\D → a, %
\w单词字符(字母、数字、下划线)\w+ → hello_1
\W非单词字符\W → space, !
\s空白(空格、制表符、换行)a\sb → a b
\S非空白\S+ → word
[abc]a、b、c 中的任意一个[aeiou] → a vowel
[^abc]除 a、b、c 外的任意字符[^0-9] → non-digit
[a-z]范围内的任意字符[a-f] → a…f

锚点与边界

令牌匹配示例
^字符串开头(多行模式下为行首)^Hi → line starting Hi
$字符串结尾(或行尾)end$ → line ending end
\b单词边界\bcat\b → the word cat
\B非单词边界\Bcat → scatter

量词

令牌匹配示例
*前一项 0 次或多次a* → '', a, aaa
+1 次或多次a+ → a, aaa (not '')
?0 次或 1 次(可选)colou?r → color, colour
{n}恰好 n 次\d{4} → 2026
{n,}n 次或更多\d{2,} → 42, 4200
{n,m}n 到 m 次之间\d{2,4} → 42 to 4200
*?惰性匹配:尽可能少<.+?> → shortest match

分组、选择与环视

令牌匹配示例
(abc)捕获组(ab)+ → abab
(?:abc)非捕获组(?:ab)+ → group, no capture
(?<name>…)命名捕获组(?<year>\d{4})
a|b选择 —— a 或 bcat|dog → cat, dog
\1对第 1 组的反向引用(\w)\1 → ll, oo
(?=abc)先行断言 —— 后面跟着 abc\d(?=px) → 5 in 5px
(?!abc)否定先行断言 —— 后面不跟\d(?!px)
(?<=abc)后行断言 —— 前面是 abc(?<=\$)\d+ → 9 in $9
(?<!abc)否定后行断言(?<!\$)\d+

标志

令牌匹配示例
g全局 —— 查找所有匹配,而不只是第一个/a/g
i不区分大小写/abc/i → ABC
m多行 —— ^ 和 $ 匹配换行/^x/m
sdotall —— . 也匹配换行/a.b/s
uUnicode 模式/\u{1F600}/u

关于转义的说明

要匹配具有特殊含义的字符 —— 如 . * + ? ( ) [ ] { } ^ $ | \ —— 在它前面加一个反斜杠。例如,\. 匹配字面的点,\$ 匹配字面的美元符号。当模式没有按预期匹配时,未转义的特殊字符通常就是原因。

相关工具