分組

分組其實就是講較長的匹配表達式用括號括起來,然后將這一部分視為一個整體進行操作.

對單個字符的重復(fù)匹配需要在字符后面加上限定符,如果是多個字符的重復(fù)匹配,則可以把多個字符作為一個分組在分組后面加上限定符即可

常用分組語法:


1234.png

捕獲:對匹配到的數(shù)據(jù)進行暫存
零寬斷言:該表達式只匹配一個位置標記,所匹配的結(jié)果并不會顯示出來,因此所匹配到的字符串寬度為0
注釋:便于閱讀

ps

1分組0對應(yīng)整個正則表達式
2 組號分配過程會從左到右掃描兩遍,第一遍給未命名分組進行分配,第二遍給命名分組分配,因此所有命名的組號都大于未命名的組號
3 可以使用(?:exp)的方法來剝奪一個分組對組號的分配權(quán)

例子
將(ing)整體作為一個分組進行匹配,限定匹配一次

lily is singing while joe is danceing
\b[a-z]+(ing){1}\b
共找到 2 處匹配:
singing
danceing

將^(\d{2}.){3}作為一個分組,匹配三次

10.10.88.18
^(\d{2}\.){3}\d{2}$
共找到 1 處匹配:
10.10.88.18

\1 可以引用(\w+)中匹配到的內(nèi)容

long long ago
\b(\w+)\b\s+\1\b
共找到 1 處匹配:
long long

由于使用了(?:exp)語法,(?:\w+)沒有對應(yīng)的分組編號,\1 不會獲取到分組內(nèi)容,無法進行匹配

long long ago
\b(?:\w+)\b\s+\1\b
(沒有匹配)

零寬斷言(?=ing\b)匹配到的內(nèi)容不作為匹配結(jié)果進行顯示

lily is singing while joe is dancing
\b\w+(?=ing\b)
共找到 2 處匹配:
sing
danc

零寬斷言}(?=@qq.com)匹配到的內(nèi)容不作為匹配結(jié)果進行顯示

1540699763@qq.com lalalalal2012@163.com
\d{7,11}(?=@qq.com)|\w+(?=@163.com)
共找到 2 處匹配:
1540699763
lalalalal2012
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 正則表達式到底是什么東西?字符是計算機軟件處理文字時最基本的單位,可能是字母,數(shù)字,標點符號,空格,換行符,漢字等...
    獅子挽歌閱讀 2,300評論 0 9
  • http://www.jb51.net/tools/zhengze.html 正則表達式30分鐘入門教程 版本:v...
    nullleaf閱讀 670評論 0 2
  • 注:本篇文章只為方便查看,特此保留,如有冒犯,敬請諒解!??! 本文目標 30分鐘內(nèi)讓你明白正則表達式是什么,并對它...
    阿杰Alex閱讀 1,573評論 0 10
  • 轉(zhuǎn)自: JS正則表達式一條龍講解,從原理和語法到JS正則、ES6正則擴展,最后再到正則實踐思路 溫馨提示:文章很長...
    前端渣渣閱讀 1,917評論 1 32
  • 早在去年 3D 掃描公司 Matterport 就因獲得一筆融資而得以迅速發(fā)展,現(xiàn)在它儼然已經(jīng)成為了美國沉浸式媒體...
    曉曉13號閱讀 412評論 0 0

友情鏈接更多精彩內(nèi)容