Documentación offline JavaScript main

SyntaxError: invalid character in class 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 character in class in regular expression" occurs when a character appears in a v-mode character class but it's not allowed to appear literally.

Message#

SyntaxError: Invalid regular expression: /[|]/v: Invalid character in character class (V8-based)
SyntaxError: invalid character in class in regular expression (Firefox)
SyntaxError: Invalid regular expression: invalid class set character (Safari)

Error type#

{{jsxref("SyntaxError")}}

What went wrong?#

Normally, character classes can contain almost all characters literally. However, the v mode made the character class syntax more sophisticated, and in order to leave room for future syntax extensions, some syntax characters are forbidden from appearing literally in a character class. They include: (, ), [, ], {, }, /, -, |. If you want to match these literal characters, escape them; for example: /[\|]/v.

Examples#

Invalid cases#

```js example-bad /[(){}]/v;

### Valid cases

<!-- Note: the {} need to be double-escaped, once for Yari -->

```js example-good
/[\(\)\\{\\}]/v;

See also#