/
/
常用規則庫:
請更換為您的測試文字。 例如:發送反饋至開發信箱 contact@ 或支援信箱 support@example.co.uk 獲取更多幫助。

匹配結果Match: 1

Match 1Index: 40 - 61
Full Match
support@example.co.uk

為什麼選擇 火火小工具 正則表達式在線測試工具?

1. 即時色彩高亮與分組捕獲

鍵入即出匹配結果,支援多組捕獲(Group 1, 2...)精準提取與文本即時疊層高亮。

2. 豐富的常用規則範本庫

內建郵箱、手機號、身份證、IPv4、中文、網址等數十種工程高頻正則,一鍵套用調試。

3. 多語言代碼生成與替換

支援 JavaScript、Python、Go、Java 多語言代碼片段一鍵生成與 $1/$2 捕獲組正則替換。

4. 100% 本地運算與私密安全

所有正則運算均在瀏覽器端本地完成,零伺服器傳輸,敏感業務代碼測試無泄露風險。

在線正則表達式語法速查表

正則表達式(REGULAR EXPRESSION,簡稱 REGEX/REGEXP)是計算機科學中的一個強力工具,通過定義一種“字符模式”來快速查找、匹配和替換文本。作為一款專業的正則表達式在線測試工具,掌握其語法能讓您的正則測試效率呈指數級上升。無論是使用在線正則表達式工具剝離關鍵數據還是進行表單驗證,熟練運用正則在線測試都是開發者的基本功。

語法 (PATTERN)描述 (DESCRIPTION)示例 (EXAMPLE)
字符與縮寫類 (CHARACTER CLASSES)
.匹配除換行符以外的任何單個字符。a.c 匹配 "abc", "a1c"
\w匹配任何字母數字字符和下劃線 (`[a-zA-Z0-9_]`)。\w+ 匹配 "hello_world"
\d匹配任意個位數字 (`[0-9]`)。\d{4} 匹配 "2026"
\s匹配任意空白字符(空格、制表符、換行符)。\s+ 匹配連串空格
\W, \D, \S對應上述縮寫的大寫字母,意為取反(如 \D 匹配非數字)。\D+ 匹配純英文字串
錨點與邊界 (ANCHORS & BOUNDARIES)
^匹配字符串的開始。如開啟 m (多行) 則匹配行首。^Hello
$匹配字符串的結束。如開啟 m (多行) 則匹配行尾。end$
\b匹配單詞邊界(單詞與非單詞之間的位置)。\bword\b 匹配獨立單詞word
量詞 (QUANTIFIERS)
*匹配前一個元素 0 次或多次。a*b 匹配 "b", "ab", "aab"
+匹配前一個元素 1 次或多次。a+b 匹配 "ab", "aab"
?匹配前一個元素 0 次或 1 次(可選)。也用於打破貪婪模式。https? 匹配 http 或 https
{n,m}精確控制匹配次數。匹配最少 n 次,最多 m 次。\d{3,5} 匹配 3-5 位數字
邏輯與分組 (GROUPS & LOGIC)
|或 (OR) 邏輯。匹配左邊或右邊的表達式。cat|dog
[abc]字符集合。匹配在中括號內的任意字符。[a-z] 匹配任意小寫字母
[^abc]否定字符集合。匹配不在中括號內的任意字符。[^0-9] 匹配非數字字符
(...)捕獲組。將多個字符組合成一個單位進行匹配,並將結果提取。(abc)+ 匹配 "abcabc"
(?:...)非捕獲組。對字符進行組合,但不在內存中保存該組匹配的內容。(?:https)

原理與常見問題 (FAQ)

1. 貪婪模式(Greedy)與非貪婪模式(Lazy)有何區別?
正則默認是貪婪的,會儘可能多地匹配字元。例如對於 <div>test</div>,表達式 <.+> 會直接匹配整條字串;而在量詞後加上問號 <.+?> 則切換為非貪婪模式(惰性模式),遇到第一個 > 即停止,精準匹配 <div>。
2. 常用的修飾符(Flags:g, i, m, s, u)分別有何作用?

g (Global):全局匹配,查找目標文本中的所有符合項,而不是在第一個匹配成功後立即停止。

i (Ignore Case):忽略大小寫,使 A 與 a 等價。

m (Multiline):多行模式,使 ^ 與 $ 能分別匹配每一行的開頭與結尾,而非整篇文本的唯一首尾。

s (DotAll):單行模式,使通配點號 . 也能匹配換行符 \n。

u (Unicode):啟用完整的 Unicode 字符集匹配,正確處理 Emoji 和四字節複合漢字。

3. 捕獲組 (Capturing Group) 與非捕獲組 (?:...) 如何選用?
標準圓括號 (abc) 會建立捕獲組,將匹配到的內容保存到內存並分配組號(Group 1, Group 2 等),供後續引用或替換。如果僅僅是為了將多個子表達式用作邏輯分支(如 (?:http|https)),請使用非捕獲組 (?:...),這樣不會浪費組號和內存,能顯著提升正則匹配的執行效率。
4. 前瞻斷言與後顧斷言(零寬斷言 Lookaround)怎麼使用?

零寬斷言用於“指定某個位置的前後必須滿足某種條件”,但斷言本身不會消耗字符(即不包含在匹配結果中):

  • (?=exp) 正向前瞻:例如 \d+(?=元) 匹配“100元”中的 100,但不包含“元”。
  • (?!exp) 負向前瞻:例如 \d+(?!%) 匹配後面不是百分號的數字。
  • (?<=exp) 正向後顧:例如 (?&lt;=\$)\d+ 匹配“$50”中的 50。
  • (?<!exp) 負向後顧:例如 (?&lt;!\d)[a-z]+ 匹配前面沒有數字的英文單詞。
5. 在替換模式 (Replace) 中,$1, $2 與 $& 是什麼意思?
在正則替換字串中,$& 代表整個正則表達式匹配到的完整內容;$1, $2, $3... 分別代表第 1、第 2、第 3 個小括號捕獲組提取出的子片段。例如將 (\d{4})-(\d{2})-(\d{2}) 替換為 $2/$3/$1,即可將 2026-09-01 瞬間格式化為 09/01/2026。
6. 為什麼在代碼中寫正則時需要雙重轉義(如 \\d 而非 \d)?
在 JavaScript/Java/Python 等程式語言中,普通字串本身會將斜槓 \ 識別為轉義符號(例如 \n 代表換行)。如果您使用字串構造正則 new RegExp("\\d"),字串解析器會先將 \\ 解釋為單個 \ 傳遞給正則引擎;而在正則字面量 /\d/ 中,則不需要額外轉義。
7. 什麼是正則表達式災難性回溯(ReDoS)?如何避免?
當正則中存在相互嵌套的模糊量詞(如 (a+)+$ 或 ([a-zA-Z]+)*)且目標文本尾部無法匹配時,正則引擎會窮舉所有排列組合嘗試回溯,導致計算步數呈指數級爆炸(100% 佔用 CPU 造成伺服器假死)。避免方法是消除重疊量詞、使用互斥字符集或採用原子分組/佔有量詞。
8. 本工具測試時會卡頓嗎?輸入的數據是否會上傳到伺服器?
100% 本地即時運算,零數據上傳。 溫馨提示:本工具所有正則表達式解析、高亮標記與代碼生成均在您的本地瀏覽器端透過 JavaScript 引擎完成,絕不會向雲端發送任何輸入文本或匹配結果,您可以放心測試各類業務代碼與隱私數據。