Regular Expression
Regular Expression 用 // 包住,有三種用途:
- 尋找資料
- 驗證資料
- 抽取資料
常見的元字符¶
.:匹配任何單個字符,除了換行符 \n。
^:匹配輸入字符串的開頭。
$:匹配輸入字符串的結尾。
*:匹配前一個字符零次或多次。
+:匹配前一個字符一次或多次。
?:匹配前一個字符零次或一次。
\:轉義字符,用於匹配特殊字符。
[...]:字符組,匹配中括號內的任何單個字符。
[^...]:否定字符組,匹配除了中括號內的任何單個字符之外的任何字符。
():捕獲組,用於捕獲匹配的字串。
|:管道符號,用於匹配多個模式之一。
包含特定字串¶
包含 'xyz' 連續字串就符合,大小寫有區別。
包含數字或字母¶
使用 [] 包住的字串,只要其中一個字符合就可以。
包含中文或全型¶
更簡潔的表示¶
包含數字¶
包含數字 / 英文 / 底線¶
Note
改成大寫 \W 代表反義:不是英文字母與數字與底線,\D 同理。
包含任意字元¶
包含空白 / tab / 換行¶
限制字串長度¶
用 ^ 開頭 $ 做結尾。
重複項目¶
想要重複幾次加上 {}:
{8}代表一定要 8 個。{8,10}8~10 個都可以。{8,}含 8 個以上。
包含一個以上的字串¶
在字串類型後面加上 +,一個以上的數字用 \d+,或是一個以上的英文 [a-z]+,以此類推。
Note
想要符合零個以上,可以用 *。
擷取符合條件的部分字串¶
在想要擷取的資料範圍加上 (),加上 ? 表示配對 0~1 次即可。