主頁 > 知識庫 > 正則 捕獲組(capture group)

正則 捕獲組(capture group)

熱門標簽:百音電話機器人 自制電銷機器人 錫林郭勒盟地圖標注位置 電銷機器人公司簡介 高德地圖標注短信簽約 知名的電話機器人 湖南企業(yè)智能外呼系統(tǒng)供應(yīng)商 RO地圖標注app 福州工作銷售電話機器人
捕獲組有兩種形式
一種是普通的捕獲組,不產(chǎn)生歧義的情況下,后面簡稱捕獲組,語法規(guī)則:(expression);
另一種是命名捕獲組,語法規(guī)則:(?name>expression)或者(?'name'expression),這兩種寫法是等價的。
 
1、編號規(guī)則
如果沒有顯式為捕獲組命名,即沒有使用命名捕獲組,那么需要按數(shù)字順序來訪問所有捕獲組
在只有普通捕獲組的情況下,捕獲組的編號是按照“(”出現(xiàn)的順序,從左到右編號的 
 
(\d{4})-(\d{2}-(\d\d))
1        1 2          3    3 2
 
上面的正則表達式可以用來匹配格式為yyyy-MM-dd的日期,為了在下表中得以區(qū)分,采用了\d{2}和\d\d兩種寫法
還有一個默認編號為0的組,表示的是正則表達式的整體
用以上正則表達式匹配字符串:2008-12-31
匹配結(jié)果為:
編號 命名 捕獲組 匹配內(nèi)容
0   (\d{4})-(\d{2}-(\d\d)) 2008-12-31
1   (\d{4}) 2008
2   (\d{2}-(\d\d)) 12-31
3   (\d\d) 31
 
如果對組進行了顯式命名,即命名捕獲組,那么捕獲的內(nèi)容可以通過組名稱來引用
但是如果正則表達式中既使用了普通捕獲組,也使用了命名捕獲組,那么捕獲組的編號就要特別注意,編號的規(guī)則是先對普通捕獲組進行編號,再對命名捕獲組進行編號
 
(\d{4})-(?date>\d{2}-(\d\d))
1        1 3                       2     23
 
用以上正則表達式匹配字符串:2008-12-31
匹配結(jié)果為:
編號 命名 捕獲組 匹配內(nèi)容
0   (\d{4})-(\d{2}-(\d\d)) 2008-12-31
1   (\d{4}) 2008
2   (\d\d) 31
3 date (?date>\d{2}-(\d\d)) 12-31
 
 
2、捕獲組的引用
對捕獲組的引用一般有以下幾種
a) 正則表達式中,對前面捕獲組捕獲的內(nèi)容進行引用,稱為反向引用
b) 正則表達式中,(?(表達式)true|false)的條件表達式
c) 在程序中,對捕獲組捕獲內(nèi)容的引用
 
反向引用
對于普通捕獲組的引用,語法規(guī)則為:\knum>,通常簡寫為\num,其中num是十進制的數(shù)字,即捕獲組的編號
對于命名捕獲組的引用,語法規(guī)則為:\kname>或者\k'name'

標簽:茂名 昆明 秦皇島 吉林 河北 玉林 西寧 怒江

巨人網(wǎng)絡(luò)通訊聲明:本文標題《正則 捕獲組(capture group)》,本文關(guān)鍵詞  正則,捕獲,組,capture,group,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《正則 捕獲組(capture group)》相關(guān)的同類信息!
  • 本頁收集關(guān)于正則 捕獲組(capture group)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章

    上一篇:正則基礎(chǔ)之 小數(shù)點

    下一篇:Dreamweaver 正則替換(返回調(diào)用值)