命名反向引用:\k<name>
語法
正則表示式
\k<name>
引數
描述
命名反向引用與普通反向引用非常相似:它引用捕獲組匹配的文字並匹配相同的文字。區別在於你透過名稱而不是數字來引用捕獲組。這使得正則表示式更具可讀性,並且更易於重構和維護。
在非 Unicode 感知模式下,只有當正則表示式包含至少一個命名捕獲組時,序列\k才會開始一個命名反向引用。否則,它是一個恆等轉義,與字面字元k相同。這是用於 Web 相容性的廢棄語法,不應依賴它。
js
/\k/.test("k"); // true
示例
配對引號
以下函式匹配字串中的 title='xxx' 和 title="xxx" 模式。為了確保引號匹配,我們使用反向引用來引用第一個引號。訪問第二個捕獲組 ([2]) 將返回匹配引號字元之間的字串
js
function parseTitle(metastring) {
return metastring.match(/title=(?<quote>["'])(.*?)\k<quote>/)[2];
}
parseTitle('title="foo"'); // 'foo'
parseTitle("title='foo' lang='en'"); // 'foo'
parseTitle('title="Named capturing groups\' advantages"'); // "Named capturing groups' advantages"
規範
| 規範 |
|---|
| ECMAScript® 2026 語言規範 # prod-AtomEscape |
瀏覽器相容性
載入中…