一、 限定符
-
?
前一個字符有 0 - 1 個

-
?
前一個字符有 0 - n 個

-
?
前一個字符有 1 - n 個
-
{x,y}
前一個字符出現 x 到 y 次 (包括 x 次和 y 次)

-
{x,}
前一個字符出現 x 次以上

-
(mn)
多個字符匹配

二 、或運算符
- (m|n)
匹配 m 或者 n

如果不寫括號,則變成 a cat 或者 dog

三、 字符類
-
[xyz]
匹配字符來自于 [] 中的內容

-
[a-zA-Z0-9]
匹配符合 a-z、A-Z、0-9 的字符

-
[a-zA-Z0-9] 組合使用

-
[ ^xyz]
所有不符合 [] 中得內容

四、元字符
-
\d
數字

-
\w
字母、數字、下劃線

-
\s
空白符 (包含 tab 和 換行符)

-
\D
非數字字符

-
\W
非數字、字母、下劃線

-
\S
非空白符

-
.
任意字符,不包含換行符

-
^
匹配行首

-
$
匹配行尾

五、貪婪與懶惰匹配
概念:來自網絡:貪婪匹配與懶惰匹配的區別
- 貪婪匹配:盡可能多地匹配字符
- 懶惰匹配:即匹配盡可能少的字符,但是要匹配出所有的結果
當想要匹配帶有 <> 的字符時,根據之前的知識可以這樣寫

由于 的 < 和 的 > 匹配上了,因此導致 Content = “ClickMe” 也被匹配上。
因此可以加上 ? 使得該匹配由 貪婪匹配 變為 懶惰匹配,從而達到想要的效果

六、實例
匹配所有十六進制的 RGB 顏色值
條件
- #
- a - f 或 A - F
- 0 - 9

浙公網安備 33010602011771號