Documentación offline JavaScript main

SyntaxError: invalid named capture reference in regular expression

main Documentación oficial Licencia CC-BY-SA-2.5Descargado el 2026-08-02

En esta página

The JavaScript exception "invalid named capture reference in regular expression" occurs when a regular expression pattern contains a named backreference that does not refer to a named capture group before it. The similar error message "invalid named reference in regular expression" is thrown when the sequence \k is encountered but is not followed by <.

Message#

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)

Error type#

{{jsxref("SyntaxError")}}

What went wrong?#

You are using the escape sequence \k which is parsed as a named backreference, but the \k is either syntactically invalid or does not refer to a named capture group in the pattern.

\k only starts a named backreference when the pattern contains a named capturing group or when the pattern is Unicode-aware; otherwise, it is an identity escape for the character k.

Examples#

Invalid cases#

```js example-bad /\k/u; // Does not refer to a named capture group /(?.+)\k/u; // Does not refer to an existing named capture group /(?.+)\k{x}/u; // Invalid syntax

### Valid cases

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

See also#