這篇文章給大家分享的是有關(guān)java正則表達(dá)式的使用方法。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考。一起跟隨小編過來看看吧。
創(chuàng)新互聯(lián)主打移動(dòng)網(wǎng)站、成都做網(wǎng)站、網(wǎng)站建設(shè)、網(wǎng)站改版、網(wǎng)絡(luò)推廣、網(wǎng)站維護(hù)、空間域名、等互聯(lián)網(wǎng)信息服務(wù),為各行業(yè)提供服務(wù)。在技術(shù)實(shí)力的保障下,我們?yōu)榭蛻舫兄Z穩(wěn)定,放心的服務(wù),根據(jù)網(wǎng)站的內(nèi)容與功能再?zèng)Q定采用什么樣的設(shè)計(jì)。最后,要實(shí)現(xiàn)符合網(wǎng)站需求的內(nèi)容、功能與設(shè)計(jì),我們還會(huì)規(guī)劃穩(wěn)定安全的技術(shù)方案做保障。字符組
在一對(duì)方括號(hào) [ 和 ] 之間列出所有可能出現(xiàn)的字符,包括可見以及不可見的字符;例如:
[123]
表示可以匹配1、2、3的單個(gè)字符。
1字符組的范圍表示
如果可以匹配的字符有規(guī)律性并且范圍比較大,比如0、1、2、3、4、5、6、7、8、9,表達(dá)式寫成
[0123456789]
這樣就顯得復(fù)雜也不美觀,所以引入符號(hào)“-”,使用 [x-y] 的形式表示在閉區(qū)間x到y(tǒng)范圍內(nèi)的字符,上式可以寫成
[0-9]
【注意】:-范圍表示法必須遵循ASCII編碼的先后順序,即上式不可寫作 [9-0] ,而一些令人困惑的表達(dá)式也盡量不要使用,比如 [0-z] 因?yàn)樵撌胶w了在ASCII編碼表中從0到z的全部字符(不僅僅只有數(shù)字和小寫字母)。如果想要表示多個(gè)范圍,比如匹配數(shù)字、大寫字母和小寫字母,表達(dá)式可以寫作
[0-9a-zA-Z]
2元字符與轉(zhuǎn)義
在表達(dá)式中有特殊功能而不作為字符的一部分字符,稱為元字符。比如前文講過的:[ ] - 都是元字符,如果想要恢復(fù)它們本來的字符屬性就要做一些特殊處理。先看一般情況,取消元字符特殊含義的操作叫做轉(zhuǎn)義,操作是在表達(dá)式中的元字符前加反斜杠 。特殊情況就是表示范圍的橫線 - ,當(dāng)其緊鄰左方括號(hào) [ 時(shí)就作為普通字符處理,其他情況都作為元字符表示范圍。
【注意】
1、橫線 - 也支持反斜杠的轉(zhuǎn)義,即[0-9]表示0、-、9三個(gè)字符。
2、右方括號(hào) ] 不需要轉(zhuǎn)義。
3排除型字符組
當(dāng)需要表示的字符組范圍很大,寫起來不方便,而恰巧它的補(bǔ)集(全集指所有字符)方便表示,引出了排除型字符組[^…] ,表示在當(dāng)前位置匹配一個(gè)沒有列出的字符,請(qǐng)注意是“必須匹配一個(gè)沒有出現(xiàn)的字符”,而不是“不要匹配列出的字符”。例如:
[^0-9][^0-9]
可以匹配“QQ”,但不可以匹配“Q”。
【注意】緊跟在 ^ 之后的 - 不是一個(gè)元字符!而^自身也是元字符,當(dāng)且僅當(dāng)^緊跟[時(shí),否則表示它作為字符的含義。
4字符組簡(jiǎn)記法
常見的字符組簡(jiǎn)記法有\(zhòng)d([0-9])、\w([0-9a-zA-Z_])、\s([\t\r\n\v\f])
【注意】w可以匹配下劃線,不等價(jià)于[0-9a-zA-Z]。另外字符組簡(jiǎn)記法可以單獨(dú)出現(xiàn),也可以使用在字符組中,如[0-9a-zA-Z]
可以寫成[\da-zA-Z]
正則表達(dá)式也提供了上面三種常用簡(jiǎn)記法的排除型:\D、\W、\S,這三種分別對(duì)應(yīng)各自的補(bǔ)集(全集是指所有字符,即[dD]可以匹配任意字符,剩余二者同理)。
【再次注意】第一,使用字符組簡(jiǎn)記法最好不要出現(xiàn)單獨(dú)的 - ;第二,上面描述的簡(jiǎn)記法都是針對(duì)ASCII編碼而言的;第三,字符組簡(jiǎn)記法不止這三種,還有其他(也可能根據(jù)不同的編程語言衍生出新的簡(jiǎn)記法),等遇到了再說。
5字符組的運(yùn)算
當(dāng)我們所研究的問題要求我們的全集不是所有字符,排除型字符組就顯得不是那么的好用了。比如我需要匹配字母表第1、5、9個(gè)小寫字母,把所有字符看作全集顯然不合適,而把所有小寫字母看作全集就比較合適,但是寫成[b-df-hj-z]就比較復(fù)雜而且容易搞錯(cuò),Java就允許使用邏輯與(&&,也可以理解為取交集)來解決這個(gè)問題,即寫成:
[a-z]&&[^aei]
看完上述內(nèi)容,你們對(duì)java正則表達(dá)式有進(jìn)一步的了解嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
當(dāng)前文章:java正則表達(dá)式的用法-創(chuàng)新互聯(lián)
當(dāng)前URL:http://vcdvsql.cn/article2/iiooc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗(yàn)、網(wǎng)站收錄、響應(yīng)式網(wǎng)站、ChatGPT、App設(shè)計(jì)、虛擬主機(jī)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容
移動(dòng)網(wǎng)站建設(shè)知識(shí)