SyntaxError: invalid regexp group
Der JavaScript-Ausnahmefehler "invalid regexp group" tritt auf, wenn die Sequenz (? keine gültige Gruppensyntax einleitet. Anerkannte Gruppensyntaxen, die mit (? beginnen, sind:
(?:für nicht erfassende Gruppen(?=für positives Lookahead(?!für negatives Lookahead(?<=für positives Lookbehind(?<!für negatives Lookbehind(?<für benannte erfassende Gruppen(?-i:,(?i:,(?m:,(?ims-:, etc. für Modifikatoren
(? 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
SyntaxError
Was schief gelaufen ist
? ist kein Atom, daher ergibt es keinen Sinn, es am Anfang einer erfassenden Gruppe zu verwenden (? ist ein Quantifier und sollte nach einem Atom platziert werden). Vielleicht möchten Sie das ?-Zeichen buchstäblich erfassen, in diesem Fall sollten Sie es mit einem Backslash maskieren (\?). Vielleicht haben Sie die RegExp-Syntax falsch in Erinnerung und beabsichtigen, eine der oben aufgeführten anerkannten Gruppensyntaxen zu verwenden. Vielleicht verwenden Sie eine Funktion, die vom aktuellen JavaScript-Engine nicht unterstützt wird.
Beispiele
>Ungültige Fälle
/Hello(?|!)/;
// This is Perl syntax
/(?[\p{Thai}&\p{Digit}])/;
Gültige Fälle
/Hello(\?|!)/;
// This is JavaScript syntax for character set operations
/[\p{Script=Thai}&&\p{Nd}]/v;