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

關於跳脫的說明

要匹配具有特殊含義的字元 —— 如 . * + ? ( ) [ ] { } ^ $ | \ —— 在它前面加一個反斜線。例如,\. 匹配字面的點,\$ 匹配字面的錢字號。當模式沒有按預期匹配時,未跳脫的特殊字元通常就是原因。

相關工具