Regex 正規表達式入門指南:從零開始掌握文字比對的超能力
正規表達式(Regex)是處理文字比對、搜尋與替換的強大工具。本篇入門指南將帶你從零開始學習 Regex 基礎語法、常用範例與實戰技巧,搭配免費線上工具即時練習,讓你快速掌握這項必備技能。
什麼是正規表達式(Regex)?
正規表達式(Regular Expression,簡稱 Regex 或 RegExp)是一種用來描述「文字模式」的特殊語法。簡單來說,它就像一套搜尋指令,能讓你在大量文字中精準找到符合特定規則的內容。
無論你是工程師、資料分析師、行銷人員,還是需要處理大量文字資料的任何人,學會 Regex 都能讓你的工作效率大幅提升。從驗證 Email 格式、擷取電話號碼,到批次替換文件內容,Regex 的應用無處不在。
為什麼你應該學 Regex?
- 節省時間:手動搜尋替換可能要花幾小時,Regex 一行就搞定。
- 精準比對:不只是找「固定的字串」,還能找「符合某種模式」的所有文字。
- 跨平台通用:幾乎所有程式語言(JavaScript、Python、Java 等)和文字編輯器都支援 Regex。
- 資料處理利器:清理資料、驗證格式、擷取資訊,一套語法全搞定。
Regex 基礎語法速查
1. 一般字元與特殊字元
在 Regex 中,大部分字母和數字代表它們本身。例如 hello 就是比對文字中的「hello」。但有些字元有特殊意義:
.(點):匹配任意一個字元(除了換行符號)\d:匹配任意一個數字(等同[0-9])\w:匹配任意一個字母、數字或底線\s:匹配任意一個空白字元(空格、Tab、換行)
2. 量詞:控制出現次數
*:前一個字元出現 0 次或多次+:前一個字元出現 1 次或多次?:前一個字元出現 0 次或 1 次{n}:恰好出現 n 次{n,m}:出現 n 到 m 次
3. 定位符號
^:匹配字串的開頭$:匹配字串的結尾\b:匹配單字邊界
4. 字元集合與分組
[abc]:匹配 a、b 或 c 中的任何一個[^abc]:匹配「不是」a、b、c 的任何字元(abc):將 abc 作為一個群組a|b:匹配 a 或 b
常見實用 Regex 範例
驗證 Email 格式
^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,}$
這個表達式會檢查字串是否符合基本的 Email 格式,包含使用者名稱、@ 符號、網域名稱與頂級域名。
匹配手機號碼(台灣格式)
^09\d{8}$
匹配以 09 開頭、後面接 8 個數字的台灣手機號碼格式。
擷取 HTML 標籤內容
<(\w+)[^>]*>(.*?)<\/\1>
這個稍微進階的範例使用了反向參考(backreference),可以匹配成對的 HTML 標籤及其內容。
匹配 URL
https?:\/\/[\w\-._~:\/?#\[\]@!$&'()*+,;=]+
可以匹配以 http 或 https 開頭的網址。
實戰練習:用線上工具學 Regex
學習 Regex 最好的方式就是「邊學邊練」。與其死背語法,不如打開一個線上 Regex 測試工具,輸入你的表達式和測試文字,即時看到匹配結果。
在 Bear Helpers 上,你可以找到多種免費的線上文字處理工具,幫助你進行文字比對、格式轉換、編碼解碼等操作。當你在練習 Regex 時,搭配這些工具能讓你更直觀地理解每個語法的效果,快速驗證你寫的表達式是否正確。
學習 Regex 的實用建議
- 從簡單開始:先掌握
.、*、\d、\w等基礎語法,再逐步進階。 - 多看範例:從實際案例中學習,比硬背語法規則更有效。
- 善用線上工具:利用 Bear Helpers 等免費平台即時測試,省去反覆執行程式的麻煩。
- 建立自己的 Regex 筆記:把常用的表達式記錄下來,下次直接使用。
- 注意效能:過於複雜的 Regex 可能導致效能問題(如「災難性回溯」),寫完後務必測試。
總結
Regex 乍看之下可能像一堆亂碼,但一旦你理解了基礎語法,就會發現它是處理文字資料最強大的武器之一。從簡單的搜尋替換到複雜的資料驗證,正規表達式都能助你一臂之力。
現在就打開 Bear Helpers 的免費線上工具,開始你的 Regex 練習之旅吧!只要持續練習,你很快就能寫出精準又高效的正規表達式。