正則表達(dá)式極簡(jiǎn)入門(mén)

基本概念

字面量

如圖所示,字面量就是你想要匹配的字符串.


字面量.png

字符組(方括號(hào)表達(dá)式)

如圖所示,字符組由字符組起始符 '[' ,要匹配的模式與字符組結(jié)束符 ']'


字符組.png

錨位符

錨位符由脫字符(^)與美元符號(hào)($)構(gòu)成.

脫字符將會(huì)使后面的字面量,字符組等,匹配到一段字符串的開(kāi)頭.而美元符號(hào)則會(huì)使它前面的字面量,字符組等,匹配到一段字符串的結(jié)尾.

如圖所示,普通匹配可以直接匹配到2334中233.然而使用了脫字符的正則表達(dá)式則不能匹配到2334中的233,因?yàn)?符號(hào)前面的是數(shù)字3,那么匹配的字符串末尾也必須要是數(shù)字三,錨位符的主要作用就是用來(lái)指定字符串的開(kāi)頭與結(jié)尾的.

普通匹配.png
脫字符匹配.png

量詞

量詞是類似于循環(huán)一樣的東西.諸如{m,n},*,+這些就屬于量詞.
例如\d{2,3},它就表示匹配2到3次數(shù)字.而\d*則表示匹配0到多次數(shù)字


捕獲分組,向后引用與非捕獲分組

捕獲分組我舉三個(gè)例子,就能明白了.

(\d)就是一個(gè)分組,在正則中,可以由\1代指分組1.


1.png

(\d)(\D),在這里面(\D)是分組2,由\2代指.


2.png

(\d(\D))(\d)在這里,最外層的\d是分組1,而在內(nèi)層的\D則是分組2,[0-9]則是分組3.
可以看出分組是按照從外往內(nèi),從左往右進(jìn)行劃分的.


3.png

所謂向后引用,則是在建立分組后,由\1,\2...\n這樣的關(guān)鍵字進(jìn)行引用的.

非捕獲分組則是不會(huì)被捕獲的分組,即無(wú)法被\1,\2這樣的向后引用關(guān)鍵字所指代的分組.
例如: (?:\d),此時(shí)使用\1就無(wú)效了.


這里有一個(gè)容易讓人誤會(huì)的地方,我舉個(gè)例子:
例如: (\d)\1
在這里 \1并不是代表字符組\d,而是代表\d匹配的值,例如\d匹配到了2,那么\1就代表2.


選擇

形如T|t這樣的形式就是選擇,它會(huì)在T與t之間選擇一個(gè)進(jìn)行匹配


選擇.png

最后編輯于
?著作權(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)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

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