正則表達(dá)式

基本單字符

  • . 代表適配任意單個字符(換行除外)
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)鏈接!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容