Spec-Zone.ru › JavaScript

SyntaxError: недопустимая именованная ссылка на захват в регулярном выражении

JavaScript-исключение "invalid named capture reference in regular expression" (недопустимая именованная ссылка на захват в регулярном выражении) возникает, когда шаблон регулярного выражения содержит именованную обратную ссылку, которая не ссылается на именованную группу захвата, находящуюся перед ней. Аналогичное сообщение об ошибке "invalid named reference in regular expression" (недопустимая именованная ссылка в регулярном выражении) выдается, когда встречается последовательность \k, за которой не следует <.

Сообщение

SyntaxError: Invalid regular expression: /\k<x>/u: Invalid named capture referenced (V8-based)
SyntaxError: invalid named capture reference in regular expression (Firefox)
SyntaxError: Invalid regular expression: invalid \k<> named backreference (Safari)

SyntaxError: Invalid regular expression: /\k/u: Invalid named reference (V8-based)
SyntaxError: invalid named reference in regular expression (Firefox)
SyntaxError: Invalid regular expression: invalid escaped character for Unicode pattern (Safari)

Тип ошибки

SyntaxError

Что пошло не так?

Вы используете escape-последовательность \k, которая интерпретируется как именованная обратная ссылка, но \k либо синтаксически неверна, либо не ссылается на именованную группу захвата в шаблоне.

\k начинает именованную обратную ссылку только тогда, когда шаблон содержит именованную группу захвата или когда шаблон учитывает Unicode; в противном случае это идентифицирующий escape-символ для символа k.

Примеры

Недопустимые случаи

/\k<x>/u; // Does not refer to a named capture group
/(?<x>.+)\k<y>/u; // Does not refer to an existing named capture group
/(?<x>.+)\k{x}/u; // Invalid syntax

Допустимые случаи

/(?<x>.+)\k<x>/u; // Refers to an existing named capture group

См. также

  • Регулярные выражения
  • Именованная обратная ссылка: \k<name>
  • Именованная группа захвата: (?<name>...)

© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Regex_invalid_named_capture_reference

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API