正在準備工作環境...
字元類別與量詞
字元類別 []
用方括號定義「可接受的字元範圍」:
[abc]:a 或 b 或 c[0-9]:0 到 9 的數字(等同\d)[a-z]:小寫字母[A-Za-z]:所有英文字母
反向字元類別 [^]
[^...] 代表「不是這些字元」:
量詞:控制重複次數
| 量詞 | 意義 | 範例 |
|---|---|---|
* | 0 次或多次 | ab*c → ac, abc, abbc |
+ | 1 次或多次 | ab+c → abc, abbc(不配 ac) |
? | 0 次或 1 次 | colou?r → color, colour |
{n} | 恰好 n 次 | \d{3} → 三個數字 |
{n,m} | n 到 m 次 | \d{2,4} → 2 到 4 個數字 |
+(一次或多次)
*(零次或多次)
{n}(恰好 n 次)
{n,m}(n 到 m 次)
組合練習
找出所有手機號碼(09 開頭 + 8 個數字):
AI 協作:學了這個,跟 AI 怎麼配合?
字元類別和量詞是 Regex 的核心工具。AI 寫這些飛快,但你要能看懂。
你的人類優勢:
- 你知道要匹配的「規格」:只要數字?要包含中文?允許特殊符號?
- 你能看懂 AI 寫的
[A-Za-z0-9]、\d{3,5}代表什麼
可以這樣跟 AI 說:
幫我寫一個 Regex 驗證台灣手機號碼:09 開頭、後面 8 碼數字、總共 10 碼。
練習題
互動示範
DEMO 1可以修改程式碼試玩
DEMO 2可以修改程式碼試玩
DEMO 3可以修改程式碼試玩
DEMO 4可以修改程式碼試玩
DEMO 5可以修改程式碼試玩
DEMO 6可以修改程式碼試玩
DEMO 7可以修改程式碼試玩
挑戰任務
Task 1
寫一個 Regex 找出所有 4 位數字(恰好 4 位)
Task 2
找出所有包含一個或多個英文字母的單字
Task 3
找出 09 開頭的手機號碼(09 + 8 個數字)
← BackNext Lesson →