正規表示式參考 |
簡介 |
目錄 |
快速參考 |
字元 |
基本功能 |
字元類別 |
簡寫 |
定位點 |
字詞邊界 |
量詞 |
Unicode |
擷取群組和反向參照 |
命名群組和反向參照 |
特殊群組 |
模式修改器 |
遞迴和平衡群組 |
替換參考 |
字元 |
配對文字和反向參照 |
內容和大小寫轉換 |
條件式 |
本網站的其他資訊 |
簡介 |
正規表示式快速開始 |
正規表示式教學 |
替換字串教學 |
應用程式和語言 |
正規表示式範例 |
正規表示式參考 |
替換字串參考 |
書籍評論 |
可列印 PDF |
關於本網站 |
RSS Feed 和部落格 |
功能 | 語法 | 說明 | 範例 | 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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
命名擷取群組 | (?<name>regex) | 擷取與「regex」配對的文字到「name」群組中。名稱可以包含字母和數字,但必須以字母開頭。 | (?<x>abc){3} 配對 abcabcabc。群組 x 配對 abc。 | 是 | 是 | 7 | 5.10 | 7.0 | 是 | 5.2.2 | 是 | 是 | 是 | 否 | 是 | 否 | 1.9 | 否 | ECMA 1.42–1.83 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 |
命名擷取群組 | (?'name'regex) | 擷取與「regex」配對的文字到「name」群組中。名稱可以包含字母和數字,但必須以字母開頭。 | (?'x'abc){3} 配對 abcabcabc。群組 x 配對 abc。 | 是 | 是 | 否 | 5.10 | 7.0 | 是 | 5.2.2 | 是 | 是 | 否 | 否 | 否 | 否 | 1.9 | 否 | ECMA 1.42–1.83 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 |
命名擷取群組 | (?P<name>regex) | 擷取與「regex」配對的文字到「name」群組中。名稱可以包含字母和數字,但必須以字母開頭。 | (?P<x>abc){3} 配對 abcabcabc。群組 x 配對 abc。 | 是 | 否 | 否 | 5.10 | 是 | 是 | 是 | 是 | 是 | 否 | 否 | 是 | 是 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 |
重複命名的群組 | 任意命名的群組 | 兩個命名群組可以共用同一個名稱。 | (?<x>a)|(?<x>b) 符合 a 或 b。 | 是 | 是 | 7 錯誤 | 5.10 | 6.7 選項 | 選項 | 5.2.0 選項 | 選項 | 選項 | 錯誤 | 不適用 | 錯誤 | 錯誤 | 1.9 | 不適用 | ECMA 1.42–1.83 | 不適用 | 不適用 | 不適用 | 不適用 | 不適用 | 不適用 | 不適用 | 不適用 |
重複命名的群組 | 任意命名的群組 | 共用同一個名稱的命名群組被視為同一個群組,因此使用反向參照時不會有陷阱。 | 是 | 是 | 不適用 | 否 | 否 | 否 | 否 | 否 | 否 | 不適用 | 不適用 | 不適用 | 不適用 | 否 | 不適用 | 否 | 不適用 | 不適用 | 不適用 | 不適用 | 不適用 | 不適用 | 不適用 | 不適用 | |
重複命名的群組 | 任意命名的群組 | 如果正規表示式有多個群組共用同一個名稱,使用該名稱的反向參照會指向正規表示式中最左邊的同名群組。 | 否 | 否 | 不適用 | 否 | 6.7–8.33 | 否 | 5.2.0–5.5.9 | XE–XE6 | 2.14.0–3.0.2 | 不適用 | 不適用 | 不適用 | 不適用 | 否 | 不適用 | 否 | 不適用 | 不適用 | 不適用 | 不適用 | 不適用 | 不適用 | 不適用 | 不適用 | |
重複命名的群組 | 任意命名的群組 | 如果正規表示式有多個群組共用同一個名稱,使用該名稱的反向參照會指向最左邊的同名群組,該群組在評估反向參照時實際參與了比對嘗試。 | 否 | 否 | 不適用 | 5.10 | 8.36 | 是 | 5.6.9 | 10.2 | 3.1.3 | 不適用 | 不適用 | 不適用 | 不適用 | 否 | 不適用 | ECMA 1.47–1.83 | 不適用 | 不適用 | 不適用 | 不適用 | 不適用 | 不適用 | 不適用 | 不適用 | |
重複命名的群組 | 任意命名的群組 | 如果正規表示式有多個群組共用同一個名稱,使用該名稱的反向參照會指向正規表示式中出現在反向參照左邊的最右邊的同名群組。 | 否 | 否 | 不適用 | 否 | 否 | 否 | 否 | 否 | 否 | 不適用 | 不適用 | 不適用 | 不適用 | 否 | 不適用 | ECMA 1.42–1.46 | 不適用 | 不適用 | 不適用 | 不適用 | 不適用 | 不適用 | 不適用 | 不適用 | |
重複命名的群組 | 任意命名的群組 | 如果正規表示式有多個群組共用同一個名稱,使用該名稱的反向參照可以符合出現在正規表示式中反向參照左邊的任何同名群組所擷取的文字。 | 否 | 否 | 不適用 | 否 | 否 | 否 | 否 | 否 | 否 | 不適用 | 不適用 | 不適用 | 不適用 | 1.9 | 不適用 | 否 | 不適用 | 不適用 | 不適用 | 不適用 | 不適用 | 不適用 | 不適用 | 不適用 | |
命名的反向參照 | \k<name> | 以命名群組「名稱」所符合的文字替換。 | (?<x>abc|def)=\k<x> 符合 abc=abc 或 def=def,但不符合 abc=def 或 def=abc。 | 是 | 是 | 7 | 5.10 | 7.0 | 是 | 5.2.2 | 是 | 是 | 是 | 否 | 是 | 否 | 1.9 | 否 | ECMA 1.47–1.83 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 |
命名的反向參照 | \k'name' | 以命名群組「名稱」所符合的文字替換。 | (?'x'abc|def)=\k'x' 符合 abc=abc 或 def=def,但不符合 abc=def 或 def=abc。 | 是 | 是 | 否 | 5.10 | 7.0 | 是 | 5.2.2 | 是 | 是 | 否 | 否 | 否 | 否 | 1.9 | 否 | ECMA 1.47–1.83 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 |
命名的反向參照 | \k{name} | 以命名群組「名稱」所符合的文字替換。 | (?'x'abc|def)=\k{x} 符合 abc=abc 或 def=def,但不符合 abc=def 或 def=abc。 | 否 | 否 | 否 | 5.10 | 7.2 | 是 | 5.2.4 | 是 | 是 | 否 | 否 | 否 | 否 | 否 | 否 | ECMA 1.47–1.83 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 |
命名的反向參照 | \g{name} | 以命名群組「名稱」所符合的文字替換。 | (?'x'abc|def)=\g{x} 符合 abc=abc 或 def=def,但不符合 abc=def 或 def=abc。 | 否 | 否 | 否 | 5.10 | 7.2 | 是 | 5.2.4 | 是 | 是 | 否 | 否 | 否 | 否 | 否 | 否 | ECMA 1.42–1.83 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 |
命名的反向參照 | (?P=name) | 以命名群組「名稱」所符合的文字替換。 | (?P<x>abc|def)=(?P=x) 符合 abc=abc 或 def=def,但不符合 abc=def 或 def=abc。 | 是 | 否 | 否 | 5.10 | 是 | 是 | 是 | 是 | 是 | 否 | 否 | 否 | 是 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 |
失敗的反向參照 | 任意命名的反向參照 | 未參與比對嘗試的群組反向參照無法比對。 | (?<x>a)?\k<x> 比對 aa,但無法比對 b。 | 是 | 非 ECMA | 7 | 5.10 | 是 | 是 | 是 | 是 | 是 | 已略過 | 不適用 | 已略過 | 是 | 1.9 | 不適用 | ECMA 1.47–1.83 | 不適用 | 不適用 | 不適用 | 不適用 | 不適用 | 不適用 | 不適用 | 不適用 |
巢狀反向參照 | 任意命名的反向參照 | 反向參照可以在它們所參照的群組內使用。 | (?<x>a\k<x>?){3} 比對 aaaaaa。 | 是 | 是 | 7 | 5.10 | 6.5 | 是 | 5.1.3 | 是 | 是 | 已略過 | 不適用 | 已略過 | 2.4–3.4 失敗 | 1.9 失敗 | 不適用 | ECMA 1.78–1.83 失敗 | 不適用 | 不適用 | 不適用 | 不適用 | 不適用 | 不適用 | 不適用 | 不適用 |
前向參照 | 任意命名的反向參照 | 反向參照可以在它們所參照的群組之前使用。 | (\k<x>?(?<x>a)){3} 比對 aaaaaa。 | 是 | 是 | 7 錯誤 | 5.10 | 6.7 | 是 | 5.2.0 | 是 | 是 | 已略過 | 不適用 | 錯誤 | 錯誤 | 1.9 錯誤 | 不適用 | ECMA 1.42–1.83 錯誤 | 不適用 | 不適用 | 不適用 | 不適用 | 不適用 | 不適用 | 不適用 | 不適用 |
命名擷取群組 | 任何命名擷取群組 | 數字是擷取群組的有效名稱。 | (?<17>abc){3} 比對 abcabcabc。名為「17」的群組比對 abc。 | 是 | 是 | 7 錯誤 | 5.10 錯誤 | 4.0–8.33 | 錯誤 | 5.0.0–5.1.2 | XE–XE6 | 2.14.0–3.0.2 | 錯誤 | 不適用 | 錯誤 | 錯誤 | 1.9 錯誤 | 不適用 | ECMA 1.42–1.83 | 不適用 | 不適用 | 不適用 | 不適用 | 不適用 | 不適用 | 不適用 | 不適用 |
命名擷取群組 | 任何名稱為數字的擷取群組 | 如果群組的名稱是數字,則該數字會成為群組的名稱和群組的數字。 | (?<17>abc|def)=\17 比對 abc=abc 或 def=def,但不比對 abc=def 或 def=abc。 | 否 | 是 | 不適用 | 不適用 | 否 | 不適用 | 否 | 否 | 否 | 不適用 | 不適用 | 不適用 | 不適用 | 不適用 | 不適用 | 否 | 不適用 | 不適用 | 不適用 | 不適用 | 不適用 | 不適用 | 不適用 | 不適用 |
命名的反向參照 | 任意命名的反向參照 | 數字是反向參照的有效名稱,然後指向名稱為該數字的群組。 | (?<17>abc|def)=\k<17> 比對 abc=abc 或 def=def,但不比對 abc=def 或 def=abc。 | 是 | 是 | 不適用 | 不適用 | 4.0–8.33 | 不適用 | 5.0.0–5.1.2 | XE–XE6 | 2.14.0–3.0.2 | 不適用 | 不適用 | 不適用 | 不適用 | 不適用 | 不適用 | ECMA 1.42–1.83 錯誤 | 不適用 | 不適用 | 不適用 | 不適用 | 不適用 | 不適用 | 不適用 | 不適用 |
命名擷取群組 | 任何命名擷取群組 | 負數字是擷取群組的有效名稱。 | (?<-17>abc){3} 比對 abcabcabc。名為「-17」的群組比對 abc。 | 錯誤 | 錯誤 | 7 錯誤 | 5.10 錯誤 | 錯誤 | 錯誤 | 錯誤 | 錯誤 | 錯誤 | 錯誤 | 不適用 | 錯誤 | 錯誤 | 1.9 錯誤 | 不適用 | ECMA 1.42–1.83 | 不適用 | 不適用 | 不適用 | 不適用 | 不適用 | 不適用 | 不適用 | 不適用 |
命名的反向參照 | 任意命名的反向參照 | 負數字是反向參照的有效名稱,然後指向名稱為該負數字的群組。 | 不適用 | 不適用 | 不適用 | 不適用 | 不適用 | 不適用 | 不適用 | 不適用 | 不適用 | 不適用 | 不適用 | 不適用 | 不適用 | 不適用 | 不適用 | ECMA 1.42–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 |