SyntaxError: ungültige Regexp-Gruppe
Der JavaScript-Ausnahmefehler "ungültige Regexp-Gruppe" 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 Erfassungsgruppen(?-i:,(?i:,(?m:,(?ims-:, etc. für Modifikatoren
(? gefolgt von einem anderen Zeichen würde diesen Fehler hervorrufen.
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 ist schiefgelaufen?
? ist kein Atom, daher ist es unlogisch, es am Anfang einer Erfassungseinheit erscheinen zu lassen (? ist ein Quantor und sollte nach einem Atom platziert werden). Vielleicht möchten Sie das ?-Zeichen wörtlich erfassen, in diesem Fall sollten Sie es mit einem Rückwärtsschrägstrich (\?) maskieren. Vielleicht haben Sie die Regex-Syntax falsch in Erinnerung und beabsichtigen, eine der oben aufgeführten anerkannten Gruppensyntaxen zu verwenden. Vielleicht verwenden Sie ein Feature, das von der 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{Thai}&&\p{Digit}]/v;