快速入門
教學
工具和語言
範例
參考
書籍評論
正規表示式參考
簡介
目錄
快速參考
字元
基本功能
字元類別
簡寫
錨點
字詞邊界
量詞
Unicode
擷取群組和反向參照
命名群組和反向參照
特殊群組
模式修飾詞
遞迴和平衡群組
替換參考
字元
符合文字和反向參照
內容和大小寫轉換
條件式
此網站的更多資訊
簡介
正規表示式快速入門
正規表示式教學
替換字串教學
應用程式和語言
正規表示式範例
正規表示式參考
替換字串參考
書籍評論
可列印 PDF
關於此網站
RSS 摘要和部落格
RegexBuddy—Better than a regular expression reference!

正規表示式參考:擷取群組和反向參照

功能語法說明範例JGsoft .NET Java Perl PCRE PCRE2 PHP Delphi R JavaScript VBScript XRegExp Python Ruby std::regex Boost Tcl ARE POSIX BRE POSIX ERE GNU BRE GNU ERE Oracle XML XPath
擷取群組 (regex) 括弧將括弧之間的正規表示式分組。它們會擷取括弧內正規表示式所配對到的文字,並將其儲存到編號群組中,可以使用編號反向參照重複使用。它們允許您將正規表示式運算子套用至整個分組正規表示式。 (abc){3} 會配對 abcabcabc。第一個群組會配對 abc ECMA
extended
egrep
awk
ECMA
extended
egrep
awk
擷取群組 \(regex\) 跳脫的括弧將括弧之間的正規表示式分組。它們會擷取括弧內正規表示式所配對到的文字,並將其儲存到編號群組中,可以使用編號反向參照重複使用。它們允許您將正規表示式運算子套用至整個分組正規表示式。 \(abc\){3} 會配對 abcabcabc。第一個群組會配對 abc basic
grep
basic
grep
非擷取群組 (?:regex) 非擷取括號將 regex 分組,以便您可以套用 regex 算子,但不會擷取任何內容。 (?:abc){3} 會配對 abcabcabc。沒有群組。 ECMAECMA
反向參照 \1\9 以第 1 到第 9 個編號擷取群組之間配對的文字取代。 (abc|def)=\1 會配對 abc=abcdef=def,但不會配對 abc=defdef=abc ECMA
basic
grep
ECMA
basic
grep
反向參照 \10\99 以第 10 到第 99 個編號擷取群組之間配對的文字取代。 ECMA
反向參照 \k<1>\k<99> 以第 1 到第 99 個編號擷取群組之間配對的文字取代。 (abc|def)=\k<1> 會配對 abc=abcdef=def,但不會配對 abc=defdef=abc 1.9ECMA
1.47–1.83
反向參照 \k'1'\k'99' 以第 1 到第 99 個編號擷取群組之間配對的文字取代。 (abc|def)=\k'1' 會配對 abc=abcdef=def,但不會配對 abc=defdef=abc 1.9ECMA
1.47–1.83
反向參照 \g1\g99 以第 1 到第 99 個編號擷取群組之間配對的文字取代。 (abc|def)=\g1 會配對 abc=abcdef=def,但不會配對 abc=defdef=abc 5.107.05.2.2ECMA
1.42–1.83
反向參照 \g{1}\g{99} 以第 1 到第 99 個編號擷取群組之間配對的文字取代。 (abc|def)=\g{1} 會配對 abc=abcdef=def,但不會配對 abc=defdef=abc 5.107.05.2.2ECMA
1.42–1.83
反向參照 \g<1>\g<99> 以第 1 到第 99 個編號擷取群組之間配對的文字取代。 (abc|def)=\g<1> 會配對 abc=abcdef=def,但不會配對 abc=defdef=abc ECMA
1.47–1.83
反向參照 \g'1'\g'99' 以第 1 到第 99 個編號擷取群組之間配對的文字取代。 (abc|def)=\g'1' 會配對 abc=abcdef=def,但不會配對 abc=defdef=abc ECMA
1.47–1.83
反向參照 (?P=1)(?P=99) 以第 1 到第 99 個編號擷取群組之間配對的文字取代。 (abc|def)=(?P=1) 會配對 abc=abcdef=def,但不會配對 abc=defdef=abc
相對後向參照 \k<-1>\k<-2> 以從右至左從後向參照開始,由指定數字計算命名或編號擷取群組的開啟括號數目,所匹配的文字取代。 (a)(b)(c)(d)\k<-3> 匹配 abcdb V21.9ECMA
1.47–1.83
相對後向參照 \k'-1'\k'-2' 以從右至左從後向參照開始,由指定數字計算命名或編號擷取群組的開啟括號數目,所匹配的文字取代。 (a)(b)(c)(d)\k'-3' 匹配 abcdb V21.9ECMA
1.47–1.83
相對後向參照 \g-1\g-2 以從右至左從後向參照開始,由指定數字計算命名或編號擷取群組的開啟括號數目,所匹配的文字取代。 (a)(b)(c)(d)\g-3 匹配 abcdb 5.107.05.2.2ECMA
1.42–1.83
相對後向參照 \g{-1}\g{-2} 以從右至左從後向參照開始,由指定數字計算命名或編號擷取群組的開啟括號數目,所匹配的文字取代。 (a)(b)(c)(d)\g{-3} 匹配 abcdb 5.107.05.2.2ECMA
1.42–1.83
相對後向參照 \g<-1>\g<-2> 以從右至左從後向參照開始,由指定數字計算命名或編號擷取群組的開啟括號數目,所匹配的文字取代。 (a)(b)(c)(d)\g<-3> 匹配 abcdb ECMA
1.47–1.83
相對後向參照 \g'-1'\g'-2' 以從右至左從後向參照開始,由指定數字計算命名或編號擷取群組的開啟括號數目,所匹配的文字取代。 (a)(b)(c)(d)\g'-3' 匹配 abcdb ECMA
1.47–1.83
後向參照失敗 任何編號後向參照 對未參與匹配嘗試的群組的後向參照無法匹配。 (a)?\1 匹配 aa,但無法匹配 b 非 ECMA忽略忽略忽略ECMA
basic
grep
忽略
ECMA
1.47–1.83
不適用不適用忽略
無效的反向參照 任何編號後向參照 對根本不存在的群組的反向參照是有效的,但無法比對任何內容。 (a)?\2|baab 中比對 b 錯誤錯誤錯誤錯誤錯誤錯誤錯誤錯誤錯誤錯誤錯誤錯誤僅限 1.8ECMA
basic
grep
錯誤
ECMA
basic
grep
錯誤
錯誤錯誤不適用錯誤錯誤錯誤不適用錯誤
巢狀反向參照 任何編號後向參照 反向參照可以在它們引用的群組內部使用。 (a\1?){3} 比對 aaaaaa 忽略忽略錯誤失敗ECMA
basic
grep
錯誤
ECMA
1.78–1.83 失敗
錯誤錯誤不適用錯誤錯誤錯誤不適用錯誤
前向參照 任何編號後向參照 反向參照可以在它們引用的群組之前使用。 (\2?(a)){3} 比對 aaaaaa 非 ECMA忽略錯誤錯誤錯誤ECMA
basic
grep
錯誤
ECMA
1.78–1.83
錯誤錯誤不適用錯誤錯誤錯誤不適用錯誤
功能語法說明範例JGsoft .NET Java Perl PCRE PCRE2 PHP Delphi R JavaScript VBScript XRegExp Python Ruby std::regex Boost Tcl ARE POSIX BRE POSIX ERE GNU BRE GNU ERE Oracle XML XPath