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