正則表達式中的捕獲和反向引用筆記

捕獲組能夠捕獲正則表達式中的字符模式,而且由正則表達式後面的編號或名稱來引用改模式。html

()——用來捕獲其中的字符串
\數字——用編號來引用
eg. 正則表達式 (\w)(\w)\2\1 可匹配字符串abba正則表達式

注意: 1.反向引用用來匹配html標籤很是有效如<(\w+)></\1>能夠匹配<table></table>等相似格式的標籤。express

            2.默認狀況下,只要使用圓括號,就會捕獲圓括號內所包含的字符,能夠使用n選項來禁用這個默認行爲(在第7條裏會詳細介紹),或者添加?:到圓括號中。eg.                  (?:sophia)或(?n:sophia)此時不會捕獲sophia。spa

    (?<捕獲組名稱>)\k<捕獲組名稱>——用名稱來引用htm

eg.文檔

正則表達式(?<sophia>\w)abc\k<sophia> 可匹配字符串 xabcx字符串

注意:在替換模式中使用捕獲組的格式略有不一樣,要用$一、$2等來按數值引用捕獲,用${sophia}等名稱來按名稱引用捕獲組get

分組構造 描述 模式 匹配
( subexpression ) 捕獲匹配的子表達式並將其分配到一個從零開始的序號中 |(\w)\1 "deep" 中的 "ee"

官方文檔參考組的概念io

相關文章
相關標籤/搜索