麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > Regex > 正文

正則表達式分組實例詳解

2020-03-16 20:56:06
字體:
來源:轉載
供稿:網友

正則表達式分組:
如果想匹配3個數字,正則表達式可以用如下寫法:

/d{3}

以上代碼使用重復量詞可以匹配3位數字。
但是在實際應用中,往往需要重復多個字符,例如我想重復ab兩個字符,使用以下代碼就不合適了,代碼如下:

ab{3}

以上正則表達式只能夠重復3次b。
為了實現重復多個字符可以使用小括號來指定子表達式或者說分組來實現此功能,例如:

(ab){3}

上面的正則就可以重復ab了。
所謂的分組就是使用小括號將一些項包括起來,使其成為獨立的邏輯域,那么就可以像處理一個獨立單元一樣去處理小括號的內容。

下面看一段代碼實例:

(/d{1,3}/.){3}/d{1,3}

上面是一個簡單的ip匹配正則表達式。由小括號包裹的內容會被作為一個獨立的邏輯域進行操作。
分組的作用:
在正則表達式中,分組具有舉足輕重的作用,下面就簡單對它的功能做一下簡單的介紹。

一.起到原始的分組作用:

把單獨的項目進行分組,以便合成子表達式,這樣就可以像處理一個單獨的字符那樣,對其應用|、+、*或者?等元字符來操作它們。
實例代碼如下:

var str="I love javascript and java";console.log(str.match(/java(script)?/gi));

由以上代碼的運行結果可以看出,正則表達式既可以匹配字符串javascript也可以匹配java,這是因在正則表達式中采用了分組,并且使用重復量詞?,可以使前面的子表達式重復0次或者1次。

二.定義子模式:

分組另一個非常重要的作用就是在完整的模式中定義子模式。
當一個正則表達式成功的和目標字符串相匹配時,可以從目標字符串中抽出和小括號中字表達式相匹配的部分。
假如我們匹配的是以一個數字開頭的后面跟著一個或者多個不區分大小寫的字母的字符串,正則表達式可以這樣寫:

//d[a-zA-Z]+/

假如我們真正關心和需要的是開頭的數字,那么就可以將正則表達式的數字部分放入小括號就可以從檢索到的匹配中抽取數字.

/(/d)[a-zA-Z]+/

三.引用子表達式:
正則表達語法中可以在同一個表達式中的后部引用前面的子表達式。這是通過在"/"后面跟隨數字實現的。此數字指定了小括號字表達式在正則表達式中的位置,例如/1是引用的第一個帶有圓括號的子表達式,自然/2就是第二個帶有圓括號的子表達式。
特別注意:由于子表達式是可以相互嵌套的,那么計算子表達式的位置的時候,只要確定左括號的位置即可。例如:

/(java(script))/

在以上正則表達式中,嵌套的子表示是可以用/2表示。
對于子表達式的引用,并不是引用的匹配模式,而是對子表示匹配內容的引用。一般來說對子表達式的引用一般是用來實施一條約束,看下面的代碼:

/(['"])[^'"]*/1/

通常情況下左右引號是相匹配的,如果前面是雙引號,那么結尾也要是雙引號,前面是單引號那么結尾也必須是單引號,并且字符串中間不能夠再出現其他的引號,例如:

"VEVB武林網歡迎您"
'VEVB武林網歡迎您'

那么上面的正則表達式就實現此功能,當前面的子表達式匹配單引號的時候,那么后面的/1也就表示的是單引號,如果子表示匹配的雙引號,那么后面的/2就表示的是雙引號。
非引用型分組:
分組會占用一定的系統資源,尤其是正則表達式較長的時候會降低匹配速度。有時候僅僅是為了設置一個分組,并不需要引用,那么使用非引用類型分組將會是一個良好的選擇。

/(java(?:script))/

以上正則就是使用非引用分組,只要在左括號后面加上一個?:即可。


注:相關教程知識閱讀請移步到正則表達式頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 视频在线色 | 精品成人网 | 毛片在线不卡 | 91麻豆精品国产91久久久更新资源速度超快 | 亚洲日本韩国在线观看 | 一级毛片免费高清 | 在线观看一区二区三区四区 | 免费a视频| 一级免费 | 视频一区二区精品 | 国产精品99久久久久久大便 | 九九视频精品在线 | 免费一及片 | 黄色影院一级片 | 国产成人精品网站 | 成人免费一区二区三区 | 羞羞羞网站 | 蜜桃网站在线观看 | 国产一级毛片在线看 | 国产精品久久久久久238 | 欧美 中文字幕 | 国产午夜免费福利 | japanesexxxxxxxhd| av在线更新 | 一级黄色免费观看 | 亚洲国产女同久久 | 免费看黄色三级毛片 | 免费国产在线观看 | 国产超碰人人做人人爱ⅴa 国产精品久久久久久久hd | 看免费毛片 | 久草最新 | 欧美日性 | 斗罗破苍穹在线观看免费完整观看 | 成年免费视频黄网站在线观看 | 黄色毛片观看 | 久久精品中文字幕一区二区三区 | 午夜久久视频 | 视频一区二区在线观看 | 国产精品一区二区视频 | 成人福利在线观看 | 农村寡妇偷毛片一级 |