基本單字符
-
.代表適配任意單個字符(換行除外)
b..k
book --- 匹配
bok --- 不匹配
-
\s匹配空白字符、空格、制表符和換行符
bo\sok
book --- 不匹配
bo ok --- 匹配
字符限制
-
[]限定某一位上字符的取值范圍[^]限定某一位上不能取的值
[a-z]ook
book --- 匹配
Book --- 不匹配
[a-zA-Z0-9]ook
book --- 匹配
Book --- 匹配
5ook --- 匹配
[^a-zA-Z]ook
book --- 不匹配
Book --- 不匹配
5ook --- 匹配
\d 等價于 [0-9]
\D 等價于 [^0-9]
\w 等價于 [a-zA-Z0-9_] 下劃線代表可以適配下劃線
\W 等價于 [^a-zA-Z0-9_]
匹配數(shù)量
-
?出現(xiàn)0次或1次
bo?k
bk --- 匹配
bok --- 匹配
book --- 不匹配
-
*出現(xiàn)0次或多次
bo*k
bk --- 匹配
bok --- 匹配
book --- 匹配
-
+出現(xiàn)1次或多次
bo+k
bk --- 不匹配
bok --- 匹配
book --- 匹配
-
{m,n}至少出現(xiàn)m次,最多出現(xiàn)n次{m,}至少出現(xiàn)m次{n}正好出現(xiàn)n次
bo{2,4}k
bok --- 不匹配
book --- 匹配
booook --- 匹配
boooook --- 不匹配
bo{1,}k
bk --- 不匹配
bok --- 匹配
booooook ---匹配
bo{2}k
bok --- 不匹配
book --- 匹配
boook --- 不匹配
整體
-
|或
book|hello
book --- 匹配
hello --- 匹配
welcome --- 不匹配
-
()整體強(qiáng)調(diào)
(book){2,3}
book --- 不匹配
bookbook --- 匹配
bookbookbookbook --- 不匹配
行首、行尾
-
^匹配行首$匹配行尾
^book
book hello --- 匹配
hello book --- 不匹配
book$
hello book --- 匹配
book hello --- 不匹配
^book$
book hello --- 不匹配
hello book --- 不匹配
book hello book --- 匹配
貪婪和惰性
- 貪婪
b(.*)k // 匹配b和k中間盡量多的字符
bsadfk basasdk bfasdfk 匹配出整個字符串,將所有b和k中間的字符盡可能的匹配出來
- 惰性
b(.*?)k // 匹配b和k中盡量少的字符
bsadfk basasdk bfasdfk 匹配出整個字符串中的bsadfk、basasdk、bfasdfk三部分,因為是匹配盡可能少的字符
版權(quán)聲明:出自MajorLMJ技術(shù)博客的原創(chuàng)作品 ,轉(zhuǎn)載時必須注明出處及相應(yīng)鏈接!