學習正規表達式的基礎知識:如何匹配模式、使用字元類別、量詞和群組來查找和驗證文字。
步驟指南
了解 Regex 是什麼
正規表達式(regex)是一種定義搜尋模式的字元序列,用於查找、驗證、提取或替換文字。幾乎所有程式語言和許多文字編輯器都支援正規表達式。
匹配字面字元
最簡單的正規表達式就是字面字串。模式 `cat` 可以匹配 "concatenate" 和 "scat" 中的 "cat"。預設情況下,正規表達式區分大小寫:`Cat` 不能匹配 "cat"。
使用字元類別
`[abc]` 匹配 a、b 或 c 中的任意一個。`[a-z]` 匹配任意小寫字母。`[0-9]` 匹配任意數字。`[^abc]` 匹配除 a、b、c 之外的任意字元。簡寫:`\d` = 數字,`\w` = 單字字元(字母/數字/_),`\s` = 空白字元。
使用量詞
`*` = 零次或多次 | `+` = 一次或多次 | `?` = 零次或一次 | `{3}` = 恰好 3 次 | `{2,5}` = 2 到 5 次。範例:`\d{3}-\d{4}` 匹配 "555-1234" 這樣的電話號碼片段。量詞後加 `?` 變為懶惰模式(盡可能少匹配)。
使用錨點和群組
`^` 錨定行首;`$` 錨定行尾。`(abc)` 建立捕獲群組。`(cat|dog)` 匹配 "cat" 或 "dog"。範例:`^\d{5}$` 恰好匹配 5 位 ZIP 郵遞區號,不多不少。
使用免費工具
Regex 測試
常見問題
Q: 如何匹配字面點號或括號?
A: `.`、`*`、`+`、`?`、`(`、`)`、`[`、`]`、`{`、`}`、`^`、`$`、`|`、`\` 等特殊字元需要用反斜線跳脫。使用 `\.` 匹配字面點號,`\(` 匹配字面括號。
Q: 貪婪匹配和懶惰匹配有什麼區別?
A: 貪婪量詞(預設)盡可能多地匹配。懶惰量詞(添加 `?`)盡可能少地匹配。範例:對 "<b>bold</b>" 使用 `<.+>` 會匹配整個字串;使用 `<.+?>` 只匹配 "<b>"。
Q: 在哪裡可以測試我的正規表達式?
A: 使用我們的 Regex 測試工具,輸入模式和測試文字,即時查看高亮顯示的匹配結果,還可以查看捕獲群組和詳細的匹配資訊。