正在準備工作環境...
什麼是正則表達式?
為什麼要學 Regex?
想像你是一個廣告業務,每天要從大量文字中找出特定格式的資料:
- 從一堆文字中找出所有 email 地址
- 從報表中找出所有 手機號碼
- 檢查客戶輸入的 日期格式 是否正確
- 從網址中提取 UTM 參數
如果用肉眼一行一行看,效率很低。正則表達式(Regular Expression,簡稱 Regex) 就是用來解決這類問題的工具。
Regex 是什麼?
簡單來說,Regex 是一種 文字比對的規則語言。你寫一個「模式(pattern)」,電腦就會幫你從文字中找出符合這個模式的所有內容。
生活比喻
| 場景 | Regex 的角色 |
|---|---|
| 在電話簿裡找「091 開頭的號碼」 | 模式:091\d{7} |
| 在信件裡找「@91app.com 的 email」 | 模式:\w+@91app\.com |
| 檢查日期是不是 YYYY-MM-DD | 模式:\d{4}-\d{2}-\d{2} |
Regex 在哪裡可以用?
- Excel:Find & Replace(進階模式)
- Google Sheets:
REGEXMATCH、REGEXEXTRACT函數 - 程式語言:Python、JavaScript、SQL 都支援
- 文字編輯器:VS Code、Sublime Text 的搜尋功能
- Google Analytics:篩選器設定
本課程的操作方式
在這門課中,你會看到一個程式碼編輯器。輸入格式如下:
第一行:正則表達式(pattern)
第二行起:要測試的文字(每行一筆)
按「執行」後,系統會告訴你每行文字是否匹配,以及匹配到了什麼。
Demo:體驗你的第一個 Regex
最簡單的 Regex 就是直接寫出你要找的文字。試試看用 shop 來比對下面的文字:
注意:Regex 預設區分大小寫,所以
SHOP不會被shop匹配到。
Demo:用點(.)匹配任意字元
. 在 Regex 中代表「任意一個字元」。看看 s.op 可以配到什麼:
s.op會配到shop、stop、slop,因為.可以代替任何一個字元。
接下來
下一課我們開始學習最基本的比對規則!
AI 協作:學了這個,跟 AI 怎麼配合?
正則表達式(Regex)是最適合「讓 AI 幫你寫」的技術——人類寫 Regex 又慢又容易錯。
你的人類優勢:
- 你能用白話描述要找的模式(「09 開頭的手機號碼」「含有 @ 的 email」)
- 你能準備測試案例,驗證 AI 寫的 Regex 是否正確
可以這樣跟 AI 說:
我要在一段文字中找出所有日期,格式是 YYYY-MM-DD 或 YYYY/MM/DD,幫我寫 Regex。
練習題
互動示範
DEMO 1可以修改程式碼試玩
DEMO 2可以修改程式碼試玩
挑戰任務
Task 1
寫一個 Regex 找出包含 'hello' 的文字
Task 2
寫一個 Regex 找出 'shop' 這個字
Next Lesson →