正則學(xué)習(xí)
\b是正則中表示分隔符的含義
比如精確地查找hi就使用\bhi\b
.代表地是非換行符地任意字符
*代表的是數(shù)量,而且是任意數(shù)量
.*連起來的意思就是任意數(shù)量的非換行符
\bhi\b.*lucy\b代表的就是hi后面有l(wèi)ucy字段的
\d代表的是數(shù)字,比如0\d\d-\d\d\d\d\d\d\d\d表示0開頭然后兩個(gè)數(shù)字,加上8個(gè)數(shù)字
{num}代表的就是重復(fù)的次數(shù),比如上面的寫法就可以改寫成0\d{2}-\d{8}
\w可以看成word,這里代表這數(shù)字,字母,漢字,下劃線
\s可以看成space,這里代表的是空格,不論是換行符,還是中英文空白符
+代表的重復(fù)
+*{num}的區(qū)別,區(qū)別在于+代表重復(fù),且至少有一次。*則不限制數(shù)字,并且可以數(shù)量為0,{mun}則是寫得非常詳細(xì)的數(shù)量,{num-num}表示數(shù)量是哪一個(gè)范圍
^ 表示字符串開頭
$ 表示字符串結(jié)尾
那么和\b有什么不同呢?這是分隔符表示開頭或結(jié)尾,而^,$/是確定字符串的開始和結(jié)尾。
^\d{5,8}\$表示數(shù)字是5到8位
當(dāng)查找一個(gè).時(shí)需要使用一個(gè)轉(zhuǎn)義的字符\.
其實(shí)
+類的是限定符+,*,?,{num},{num,},{num,num},其中?代表的是重復(fù)0次或者1次,{num,}代表的是最少,而沒有最多
[.?!]表示標(biāo)點(diǎn)符號(hào)的集合,[a-z]表示的是小寫的字符串合集
分支條件: | 其實(shí)就是或者。不過注意的就是,當(dāng)從左向右判斷的時(shí)候,如果先滿足了前面的條件,就不會(huì)進(jìn)行后面的判斷了
\d{5}|\d{5}-\d{4}這個(gè)正則永遠(yuǎn)不會(huì)返回9位的數(shù)字,因?yàn)榍拔逦欢际菙?shù)字,被第一個(gè)條件匹配。
()的作用是將需要重復(fù)的多個(gè)字符串放入其中,作為一個(gè)單元小組來使用限定符(\d{1,3}\.){3}\d{1,3}
用反義的方式,其實(shí)就是不包含,\W等。這些方式使用的是大寫元字符,而一些范圍的排除使用[^]的方式,比如<a[^>]+>匹配用尖括號(hào)括起來的以a開頭的字符串
待續(xù)