溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

java正則表達(dá)式中的常用量詞

發(fā)布時(shí)間:2020-06-06 17:07:24 來(lái)源:億速云 閱讀:301 作者:Leah 欄目:編程語(yǔ)言

這篇文章給大家分享的是java正則表達(dá)式中的常用量詞的介紹。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧。

1概述
所謂量詞,可以理解為用來(lái)描述某個(gè)字符(字符組)重復(fù)出現(xiàn)的次數(shù)。舉個(gè)例子,11位數(shù)的電話號(hào)碼,如果不考慮前三位的固定組合,用正則表達(dá)式寫成:
\d\d\d\d\d\d\d\d\d\d\d
其中d重復(fù)了11次,十分不方便,所以就引入了量詞,上式可以輕松地寫成:
\d{11}
量詞也支持對(duì)長(zhǎng)度描述范圍,形如{m,n} m和n分別是兩個(gè)整數(shù),相當(dāng)于數(shù)學(xué)中的[m,n],例如\d{1,11},表示這個(gè)數(shù)字字符串的長(zhǎng)度最短1個(gè)字符,最長(zhǎng)11個(gè)字符。

【注意】{m,n}的n省略寫成{m,} 表示字符出現(xiàn)最少m次,且沒有上限。
2 常用量詞表示
有幾種技術(shù)人員常用的量詞表示,產(chǎn)生出了相當(dāng)于量詞的簡(jiǎn)記策略。
java正則表達(dá)式中的常用量詞
3 點(diǎn)號(hào)
特殊的元字符 .(點(diǎn)號(hào)),點(diǎn)號(hào)可以匹配除了換行符n之外的所有字符,包括數(shù)字、字母各種符號(hào)等。如果需要匹配真正的所有字符的話,可以在設(shè)置單行模式匹配的情況下使用點(diǎn)號(hào),或者使用第一章所講,使用 [\s\S]。

4 匹配優(yōu)先量詞
正則表達(dá)式中的量詞可以分為幾種類別,之前介紹的量詞都是可以歸為匹配優(yōu)先量詞,其匹配策略為:當(dāng)不確定是否要匹配時(shí),先嘗試匹配,再做后續(xù)動(dòng)作。
因?yàn)橛衅ヅ鋬?yōu)先的存在,對(duì)于通配符(除\n)點(diǎn)號(hào)就有可能匹配到本不該匹配到的部分(比如字符串的末尾),這時(shí)候就應(yīng)該放棄本次匹配,讓表達(dá)式的后一部分嘗試匹配。這一個(gè)過程稱為回溯。

5忽略優(yōu)先量詞
相反地,當(dāng)不確定時(shí)候要匹配時(shí)選擇不匹配的稱為忽略優(yōu)先量詞。先嘗試用表達(dá)式后面的部分匹配,不符合時(shí)再做回溯操作。
上面提到的常用量詞都是優(yōu)先匹配的,它們都有忽略優(yōu)先的對(duì)應(yīng)量詞,見下表:
java正則表達(dá)式中的常用量詞
【注意】對(duì)于忽略優(yōu)先量詞的轉(zhuǎn)義包括前后兩部分,即?的轉(zhuǎn)義為\\? ,+?的轉(zhuǎn)義為+\? ,??的轉(zhuǎn)義為\?\?
關(guān)于java正則表達(dá)式中的常用量詞就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI