正則表達(dá)式重溫整理

三大基礎(chǔ)符號(hào):Bracket括號(hào)符號(hào)、caret插入符號(hào)和Dollars美元符號(hào)

  • 在正則表達(dá)式中存在三種括號(hào)符號(hào):方括號(hào)([)、花括號(hào)({)及 圓括號(hào)(()

方括號(hào)"["內(nèi)是需要匹配的字符,匹配括號(hào)中任意一個(gè)字符;
花括號(hào)"{"內(nèi)是指定匹配字符的數(shù)量/長(zhǎng)度;
圓括號(hào)“(“ 則是用來(lái)分組的。

  • 插入符號(hào)"^"表示正則的開始

  • 美元符號(hào)"$"表示正則的結(jié)束

正則中的特殊快捷命令及其組合

  • \d —> [0-9]

  • \w —> [a-z0-9A-Z_]

  • \s —> 任意的空白符,包括空格,制表符(Tab),換行符,中文全角空格等

  • 字符* —> 0次或多次發(fā)生

  • 字符+ —> 至少一次發(fā)生

  • ? —> 0次或1次發(fā)生

  • .+ —> 匹配任何字符(字母,數(shù)字,符號(hào)),除了n(換行)之外,1+次數(shù)。

  • (?i) —> 表示下一個(gè)序列不區(qū)分大小寫。

  • | —> 連接兩個(gè)表達(dá)式,表示或的關(guān)系

  • . —> 匹配除了換行符以外的任意字符

  • \b —> 是正則表達(dá)式規(guī)定的一個(gè)特殊代碼(好吧,某些人叫它元字符,metacharacter),代表著單詞的開頭或結(jié)尾,也就是單詞的分界處。雖然通常英文的單詞是由空格,標(biāo)點(diǎn)符號(hào)或者換行來(lái)分隔的,但是\b并不匹配這些單詞分隔字符中的任何一個(gè),它只匹配一個(gè)位置

  • < —> 匹配單詞開頭的位置(待實(shí)證)

  • 字符 > —> 匹配單詞結(jié)尾的地方(待實(shí)證)

  • \ —> 轉(zhuǎn)義字符,普通字符轉(zhuǎn)義為特殊字符,特殊字符轉(zhuǎn)義為普通字符 - \n —> 匹配換行符 - \r —> 匹配一個(gè)回車符 - \f —> 匹配一個(gè)換頁(yè)符


(0?[1-9]|[12]\d|3[01])——匹配1到31之間的任何數(shù)字(前面的0是可選的)

([\/\-])——匹配分隔符/或-

^[^@\s]+@[^@\s]+\.\w{2,6}$ 

## [^@\s]——匹配除@和空格\s之外的任何字符

## \.——匹配’.'字符

## \w{2,6}——匹配任何字符(字母,數(shù)字或下劃線),2-6次

如果你想查找元字符本身的話,比如你查找.,或者*,就出現(xiàn)了問題:你沒辦法指定它們,因?yàn)樗鼈儠?huì)被解釋成別的意思。這時(shí)你就得使用\來(lái)取消這些字符的特殊意義。因此,你應(yīng)該使用\.和\*。當(dāng)然,要查找\本身,你也得用\\。例如:deerchao\.net匹配deerchao.net,C:\\Windows匹配C:\Windows。

反義:有時(shí)需要查找不屬于某個(gè)能簡(jiǎn)單定義的字符類的字符。比如想查找除了數(shù)字以外,其它任意字符都行的情況,這時(shí)需要用到反義

  • \B —> 匹配非單詞開頭和結(jié)尾的地方

  • \W —> 匹配任意不是字母,數(shù)字,下劃線的字符

  • \S —> 匹配任意不是空白符的字符

  • \D —> 匹配任意非數(shù)字的字符

  • [^x] —> 匹配除了x以外的任意字符

  • [^aeiou] —> 匹配除了aeiou這幾個(gè)字母以外的任意字符

后向引用:使用小括號(hào)指定一個(gè)子表達(dá)式后,匹配這個(gè)子表達(dá)式的文本(也就是此分組捕獲的內(nèi)容)可以在表達(dá)式或其它程序中作進(jìn)一步的處理。默認(rèn)情況下,每個(gè)分組會(huì)自動(dòng)擁有一個(gè)組號(hào),規(guī)則是:從左向右,以分組的左括號(hào)為標(biāo)志,第一個(gè)出現(xiàn)的分組的組號(hào)為1,第二個(gè)為2,以此類推。


\b(\w+)\b\s+\1\b可以用來(lái)匹配重復(fù)的單詞,像go go, 或者kitty kitty。(\1  => \w+)

  • 常用分組語(yǔ)法
9.png

\b\w+(?=ing\b),匹配以ing結(jié)尾的單詞的前面部分(除了ing以外的部分),如查找I'm singing while you're dancing.時(shí),它會(huì)匹配sing和danc。

比如(?<=\bre)\w+\b會(huì)匹配以re開頭的單詞的后半部分(除了re以外的部分),例如在查找reading a book時(shí),它匹配ading。

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

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

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