如何使用Regex 正規表示式測試器
- 在「正規表示式」欄位輸入 pattern,不需要前後的斜線。
- 在下方輸入要測試的文字,或按「範例」載入 Email 比對範例。
- 用旗標開關切換全域(g)、不分大小寫(i)、多行(m)等模式。
- 右側即時顯示命中數量、標示位置與每筆命中的群組;需要時在「取代為」輸入 $1 等替換字串。
範例
擷取台灣手機號碼
Pattern: 09\d{2}-?\d{3}-?\d{3}
文字:聯絡 0912-345-678 或 0987654321
#1 0912-345-678
#2 0987654321
用群組調換日期格式
Pattern: (\d{4})-(\d{2})-(\d{2})
取代為:$3/$2/$1
文字:2026-10-03
03/10/2026
常用語法速查
\d \w \s | 數字、英數字與底線、空白字元 |
|---|---|
. | 任何字元(不含換行,開啟 s 旗標才包含) |
* + ? {n,m} | 0 次以上、1 次以上、0 或 1 次、n 到 m 次 |
^ $ | 行首、行尾(開啟 m 旗標時以每一行計算) |
( ) (?<name> ) | 擷取群組、具名群組 |
(?: ) | 不擷取的群組 |
[一-鿿] | 常用中文字(CJK 統一表意文字) |
規格與重點
| 正規表示式引擎 | JavaScript(ECMAScript)RegExp |
|---|---|
| 支援旗標 | g 全域、i 不分大小寫、m 多行、s dotAll、u Unicode |
| 顯示內容 | 命中位置標示、群組、具名群組、取代預覽 |
| 命中上限 | 最多計算 1,000 筆,列出前 200 筆 |
| 處理位置 | 你的瀏覽器(資料不會上傳) |
| 費用 | 免費、免註冊 |
常見問題
這裡測試的 Regex 可以直接用在 PHP 或 Python 嗎?
大部分基本語法相同,但各語言有差異:例如 PHP 的 PCRE 支援遞迴與佔有量詞,Python 的具名群組寫法是 (?P<name>...)。本工具使用 JavaScript 引擎,跨語言使用前請再確認。
為什麼只找到一筆?
請確認有開啟 g(全域)旗標。沒有 g 時,正規表示式只會回傳第一筆命中。
^ 和 $ 沒有比對到每一行?
預設 ^ 與 $ 代表整段文字的開頭與結尾,開啟 m(多行)旗標後才會以每一行計算。
怎麼比對中文字?
可以使用 [一-鿿] 比對常用漢字;開啟 u 旗標時也可以用 \p{Script=Han}。
取代欄位的 $1 是什麼?
$1、$2 代表第 1、第 2 個擷取群組的內容,$& 代表整個命中的文字,$<name> 代表具名群組。