SyntaxError: invalid regexp group

Die JavaScript-Ausnahme "invalid regexp group" tritt auf, wenn die Sequenz (? keine gültige Gruppensyntax beginnt. Anerkannte Gruppensyntaxen, die mit (? beginnen, sind:

(? gefolgt von einem anderen Zeichen würde diesen Fehler verursachen.

Nachricht

SyntaxError: Invalid regular expression: /(?1)/: Invalid group (V8-based)
SyntaxError: invalid regexp group (Firefox)
SyntaxError: Invalid regular expression: unrecognized character after (? (Safari)

Fehlertyp

Was ist schiefgelaufen?

? ist kein Atom, daher ergibt es keinen Sinn, dass es am Anfang einer Erfassungsgruppe steht (? ist ein Quantifizierer und sollte nach einem Atom platziert werden). Vielleicht möchten Sie das ?-Zeichen wörtlich erfassen, in welchem Fall Sie es mit einem Backslash (\?) escapen sollten. Vielleicht erinnern Sie sich an die Regex-Syntax falsch und möchten eine der oben aufgeführten anerkannten Gruppensyntaxen verwenden. Vielleicht nutzen Sie ein Feature, das von der aktuellen JavaScript-Engine nicht unterstützt wird.

Beispiele

Ungültige Fälle

js
/Hello(?|!)/;
// This is Perl syntax
/(?[\p{Thai}&\p{Digit}])/;

Gültige Fälle

js
/Hello(\?|!)/;
// This is JavaScript syntax for character set operations
/[\p{Thai}&&\p{Digit}]/v;

Siehe auch