官方文檔如圖:
十載的新洲網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。全網(wǎng)營(yíng)銷推廣的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整新洲建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無(wú)論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)公司從事“新洲網(wǎng)站設(shè)計(jì)”,“新洲網(wǎng)站推廣”以來(lái),每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。上圖是官方文檔的介紹,總結(jié)一下講了兩個(gè)知識(shí)點(diǎn):
1、是否獲取匹配并保存匹配的值;
2、正向預(yù)查和反向預(yù)查。
一、解釋是否獲取匹配并保存匹配的值
1、()表示捕獲分組,獲取匹配,()把每個(gè)分組里的匹配的值保存起來(lái);
2、(?:)表示非捕獲分組,獲取匹配,非捕獲分組匹配的值不會(huì)保存起來(lái),可以提高程序執(zhí)行速度;
3、(?=?!?<=?
舉例說(shuō)明:
// 是否獲取匹配測(cè)試文本 abxoxcd ..(xox).. 匹配 abxoxcd ..(?:xox).. 匹配 abxoxcd ..(?=xox).. 匹配 abxo 獲取匹配,一般匹配到了字符之后,該字符就被消耗、輸出。不獲取匹配,不會(huì)消耗字符。 // 是否保存匹配的值測(cè)試文本 AAABBCaaA E666FF (A)\\1* 匹配 AAA、A (\\w)\\1+ 匹配 AAA、BB、aa、666、FF (?:A)(B)\\1* 匹配 ABB
因?yàn)榉遣东@分組不保存匹配的值,所以 (?:A)(B)\\1* 匹配 ABB 第一個(gè)\\1表示(B)這個(gè)捕獲組捕獲到的值。
“注意:反向引用表示捕獲到的值,而不是再次使用正則表達(dá)式”
二、解釋正向預(yù)查和反向預(yù)查
// 前瞻: exp1(?=exp2) 查找exp2前面的exp1 // 后顧: (?<=exp2)exp1 查找exp2后面的exp1 // 負(fù)前瞻: exp1(?!exp2) 查找后面不是exp2的exp1 // 負(fù)后顧: (?舉例說(shuō)明:
// 正向預(yù)查和反向預(yù)查 測(cè)試文本 abxoxcd ..(?=xox) 匹配 ab ..(?=oxo) 匹配不到 (?=xox).. 匹配xo (?<=xox).. 匹配 cd預(yù)查只需要記住:
1、環(huán)顧全局定位到非捕獲組;
2、不獲取匹配(不消耗字符),不保存匹配的值(不能使用反向引用)。
以上就是關(guān)于java正則?:、?=、?!的一些理解的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計(jì)公司其它相關(guān)文章!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+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)景需求。
分享標(biāo)題:java正則表達(dá)式的正向預(yù)查和反向預(yù)查-創(chuàng)新互聯(lián)
轉(zhuǎn)載來(lái)于:http://weahome.cn/article/dsgjjg.html