正規表示式分組詳解
分組是正規表示式中最為重要概念之一,程式碼如下:
[JavaScript] 純文字檢視 複製程式碼(ant){2}
上述程式碼中,(ant)就是分組,它由一對小括號生成。
在JavaScript中,小括號是分組運算子,程式語言都是相通的,在正則中也大致如此。
正規表示式中的分組,可以將小括號中的內容作為一個獨立整體處理。
關於分組運算子可以參閱JavaScript 小括號()分組運算子一章節。
一.正則表示分組的必須要性:
如果我們要匹配三個字元"w",可以使用如下程式碼:
[JavaScript] 純文字檢視 複製程式碼var str="本站url地址是www.softwhy.com"; var reg=/w{3}/g; console.log(str.match(reg));
谷歌控制檯程式碼執行截圖如下:
上述程式碼很完美的實現了匹配效果,再來看一段程式碼:
[JavaScript] 純文字檢視 複製程式碼var str="本站url地址是www.softwhwhy.com"; var reg=/wh{2}/g; console.log(str.match(reg));
我們的本意是想匹配重複兩次"wh",也就是字串"whwh"。
然而在谷歌控制檯執行結果截圖如下:
匹配失敗了,因為上述正規表示式真正會匹配到的字串是"whh",只會重複"h"兩次。
這時候,正規表示式分組的作用就體現出來了,上述程式碼修改如下:
[JavaScript] 純文字檢視 複製程式碼var str="本站url地址是www.softwhwhy.com"; var reg=/(wh){2}/g; console.log(str.match(reg));
谷歌控制檯程式碼執行截圖如下:
分組運算子會將"wh"作為一個獨立的單元處理。
二.正規表示式分組的作用:
正規表示式中由小括號構成的分組要比JavaScript中的小括號功能更為強大一些,下面分別做一下介紹。
(1).分組功能:這是小括號最基礎的功能,與JavaScript中的小括號作用相同,作用就是分組,那麼小括號中的內容就可以被看做一個整體進行處理,比如前面可以使用重複量詞,程式碼例項如下:
[JavaScript] 純文字檢視 複製程式碼var str="本站url地址是www.softwhy.com"; var reg=/o(ft)?/g; console.log(str.match(reg));
谷歌控制檯程式碼執行截圖如下:
"ft"被看做一個整體,由於使用量詞?,所以匹配中可以包含"ft"也可以不包含。
(2).引用型分組:由於篇幅問題,具體參閱正規表示式引用型分組一章節。
(3).非引用型分組:由於篇幅問題,具體參閱正規表示式非引用型分組一章節。
相關文章
- 正規表示式分組例項詳解
- Python 正規表示式模組詳解Python
- 詳解正規表示式
- Python正規表示式詳解Python
- Linux正規表示式詳解Linux
- 詳解 Python 正規表示式Python
- 正規表示式教程之匹配一組字元詳解字元
- MySQL-正規表示式詳解MySql
- Java 正規表示式捕獲組分類Java
- Python正規表示式 findall函式詳解Python函式
- 正規表示式詳解及實戰
- python爬蟲 正規表示式詳解Python爬蟲
- 正規表示式 第三篇:分組匹配
- js正規表示式常用函式詳解(續)JS函式
- Python3之正規表示式詳解Python
- 正規表示式教程之位置匹配詳解
- Python正規表示式實現非捕獲分組Python
- Oracle中的正規表示式(及函式)詳解Oracle函式
- PHP正規表示式模式修飾符詳解PHP模式
- Python 正規表示式 re 模組Python
- 正規表示式(三):pythonre模組Python
- python re模組 正規表示式Python
- Java 正規表示式——捕獲組Java
- python正規表示式(re模組)Python
- shell 正規表示式詳細整理
- oracle正規表示式regexp_like的用法詳解Oracle
- 正規表示式教程之匹配單個字元詳解字元
- 正規表示式匹配雙位元組字元字元
- 正規表示式
- 正規表示式.
- 例項程式碼詳解正規表示式匹配換行
- 正規表示式學習教程之回溯引用backreference詳解
- 【正規表示式】常用的正規表示式(數字,漢字,字串,金額等的正規表示式)字串
- 5分鐘輕鬆學正規表示式
- 正規表示式教程之操作符及說明詳解
- php –正規表示式PHP
- 【Linux】正規表示式Linux
- 【JavaScript】正規表示式JavaScript