正規表示式中的捕獲和反向引用筆記

tuohaibei發表於2018-06-28

捕獲組可以捕獲正規表示式中的字元模式,並且由正規表示式後面的編號或名稱來引用改模式。

()——用來捕獲其中的字串
數字——用編號來引用
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”

官方文件參考組的概念

相關文章