旗標
測試文字
結果
結果會顯示在這裡
輸入內容後會自動處理快捷鍵:Ctrl + Enter 執行

如何使用Regex 正規表示式測試器

  1. 在「正規表示式」欄位輸入 pattern,不需要前後的斜線。
  2. 在下方輸入要測試的文字,或按「範例」載入 Email 比對範例。
  3. 用旗標開關切換全域(g)、不分大小寫(i)、多行(m)等模式。
  4. 右側即時顯示命中數量、標示位置與每筆命中的群組;需要時在「取代為」輸入 $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> 代表具名群組。