SyntaxError: invalid regexp group
En esta página
The JavaScript exception "invalid regexp group" occurs when the sequence (? does not start a valid group syntax. Recognized group syntaxes that start with (? include:
(?:for non-capturing groups(?=for positive lookahead(?!for negative lookahead(?<=for positive lookbehind(?<!for negative lookbehind(?<for named capturing groups(?-i:,(?i:,(?m:,(?ims-:, etc. for modifiers
(? followed by any other character would cause this error.
Message#
SyntaxError: Invalid regular expression: /(?1)/: Invalid group (V8-based)
SyntaxError: invalid regexp group (Firefox)
SyntaxError: Invalid regular expression: unrecognized character after (? (Safari)
Error type#
{{jsxref("SyntaxError")}}
What went wrong?#
? is not an atom, so it does not make sense to appear at the start of a capturing group (? is a quantifier and should be placed after an atom). Maybe you want to match the ? character literally, in which case you should escape it with a backslash (\?). Maybe you remembered the regex syntax wrong, and you intend to use one of the recognized group syntaxes listed above. Maybe you are using a feature that is not supported by the current JavaScript engine.
Examples#
Invalid cases#
```js example-bad /Hello(?|!)/; // This is Perl syntax /(?[\p{Thai}&\p{Digit}])/;
### Valid cases
```js example-good
/Hello(\?|!)/;
// This is JavaScript syntax for character set operations
/[\p{Thai}&&\p{Digit}]/v;