欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

正則表達式中的括號表示什么?怎么用?

這篇文章給大家分享的是正則表達式括號的使用方法。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。

創(chuàng)新互聯(lián)建站是一家專注于成都做網(wǎng)站、成都網(wǎng)站設(shè)計與策劃設(shè)計,云霄網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)建站做網(wǎng)站,專注于網(wǎng)站建設(shè)十載,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務涵蓋:云霄等地區(qū)。云霄做網(wǎng)站價格咨詢:18982081108

1 分組

上一章提到過的量詞只針對緊鄰的字符(組)起作用,例如HTML語言中的標簽<table></table>匹配:
<table[\s>][\s\S]+?</table>
其中忽略優(yōu)先量詞+?,只對緊鄰的字符組[\s\S]起作用,如果需要對之前所有的部分起作用就需要用到圓括號(),寫成:
(<table[\s>][\s\S])+?</table>
起到了將<table[\s>][\s\S]看做一個整體的作用,即分組。
2 多選結(jié)構(gòu)
括號的第二個作用就是制造出一個多選結(jié)構(gòu),兩個或以上個表達式中都是合法匹配的表達式(適用多種情況時),多選結(jié)構(gòu)的形式是(...|...),用豎線|分割子表達式,這些子表達式也叫多選分支,多選分支可以有好多個,只要有1個分支匹配成功即宣告匹配成功,否則匹配失敗,可以類比C語言中的switch-case結(jié)構(gòu),失敗就走default下的代碼。
3 Pattern
Pattern對應正則表達式對象,如何把一個字符串變成程序可以識別的正則表達式?這就需要用到Pattern的方法compile():
Pattern pattern = Pattern.compile(String regex);
regex 是提前編輯好的正則表達式字符串。這樣編譯好的正則表達式可以為接下來的切分或者匹配操作鋪墊。
4 Matcher
Matcher可以理解為“某次匹配的結(jié)果對象”。就是把編譯過的Pattern對象應用到某個String對象(下面的例子使用text表示),產(chǎn)生的Matcher對象結(jié)果。例如:
Pattern pattern = Pattern.compile(String regex);
Matcher matcher = pattern.matcher(String text);
那么如何獲取到匹配成功的結(jié)果呢?Matcher對象調(diào)用方法find(),返回true就表示找到一個匹配,反之false就是沒找到。進一步地如果想要得到匹配的內(nèi)容呢?
為了解決這個問題,就先切到括號的下一個使用方法。
5 引用分組
在使用括號之后,正則表達式會保存每個分組真正匹配的字符串。這種功能叫做捕獲分組,括號叫做捕獲型括號。那么如何根據(jù)個人的意愿選擇輸出某一個分組,或者某幾個分組?
答案是,使用編號,從表達式最左邊的左括號編號記為1,這一對左右括號之間的部分為分組1,例如:
表達式:((\d{1})-(\d{2})-(\d{3}))
1號分組:(\d{1})-(\d{2})-(\d{3})
2號分組:\d{1}
3號分組:\d{2}
4號分組:\d{3}
Matcher對象可以調(diào)用group(int i)方法,獲取相應的分組,其中i是分組編號,0號分組是表示整個表達式所捕獲的分組:
while(matcher.find()){
System.out.println(matcher.group());
//不加參數(shù)i相當于i=0
}
關(guān)于正則表達式括號的使用方法就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

新聞名稱:正則表達式中的括號表示什么?怎么用?
瀏覽路徑:http://chinadenli.net/article2/iighoc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)Google網(wǎng)站排名網(wǎng)站維護網(wǎng)站內(nèi)鏈移動網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

手機網(wǎng)站建設(shè)