捕獲組可以捕獲正規表示式中的字元模式,並且由正規表示式後面的編號或名稱來引用改模式。
()——用來捕獲其中的字串
數字——用編號來引用
eg. 正規表示式 (w)(w)21 可匹配字串abba
注意: 1.反向引用用來匹配html標籤非常有效如<(w+)></1>可以匹配<table></table>等類似格式的標籤。
2.預設情況下,只要使用圓括號,就會捕獲圓括號內所包含的字元,可以使用n選項來禁用這個預設行為(在第7條裡會詳細介紹),或者新增?:到圓括號中。eg. (?:sophia)或(?n:sophia)此時不會捕獲sophia。
(?<捕獲組名稱>)k<捕獲組名稱>——用名稱來引用
eg.
正規表示式(?<sophia>w)abck<sophia> 可匹配字串 xabcx
注意:在替換模式中使用捕獲組的格式略有不同,要用$1、$2等來按數值引用捕獲,用${sophia}等名稱來按名稱引用捕獲組
分組構造 | 描述 | 模式 | 匹配 |
( subexpression ) | 捕獲匹配的子表示式並將其分配到一個從零開始的序號中 | |(w)1 | “deep” 中的 “ee” |