1. 程式人生 > >3.2.2.2 後向引用

3.2.2.2 後向引用

使用 賦值 foo 無需 alpha c++ 下一步 abcd 結構

BRE 提供一種叫後向引用的機制,指的是“匹配於正則表達式匹配的先前的部分”。使用後向引用的步驟有兩個。第一步是將子表達式包圍在 \( 與 \) 裏;單個模式裏可包括之多9個子表達式,且可為嵌套結構。 下一步是在同一模式之後使用\digit,digit指的是介於1至9的數字,指的是“匹配於第n個先前方括號內子表達式匹配成功的字符”
模式 匹配成功
\(ab\)\(cd\)[def]*\2\1 abcdcdab、abcdeeecdab、adcddddeeffcdab、...
\(why).*\1 一行裏重現兩個why
\([[:alpha:]_][[:alnum:]_]*\) = \1 簡易C/C++賦值語句
後向引用在尋找重復字以及匹配引號時特別好用: \(["‘]\).*\1 匹配以單引號或雙引號括起來的字,例如 ‘foo‘ 或 "bar"。在這種方法下,就無需擔心是單引號或是雙引號先找到。

3.2.2.2 後向引用