Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

SyntaxError: raw bracket is not allowed in regular expression with unicode flag

Der JavaScript-Ausnahmefehler "raw bracket is not allowed in regular expression with unicode flag" tritt auf, wenn ein Unicode-bewusstes reguläres Ausdrucksmuster eine rohe Klammer ({, }, ]) enthält, die nicht Teil eines Quantors oder einer Zeichenklasse ist.

Meldung

SyntaxError: Invalid regular expression: /{/u: Lone quantifier brackets (V8-based)
SyntaxError: raw bracket is not allowed in regular expression with unicode flag (Firefox)
SyntaxError: Invalid regular expression: incomplete {} quantifier for Unicode pattern (Safari)
SyntaxError: Invalid regular expression: unmatched ] or } bracket for Unicode pattern (Safari)

Fehlertyp

SyntaxError

Was ist schiefgelaufen?

Im Unicode-unbewussten Modus werden {, } und ], die nicht Teil eines Quantors oder einer Zeichenklasse sind, als literale Zeichen behandelt. Dies kann Fehler in Ihrem Code verbergen und ist daher im Unicode-bewussten Modus veraltet und nicht erlaubt. Sie sollten entweder prüfen, ob Sie ungültige Syntax haben oder die Zeichen escapen, um sie wörtlich zu behandeln.

Erscheint { in einem Kontext, der einen Quantor akzeptiert, wird es als Beginn eines Quantors behandelt. Wenn das, was darauf folgt, kein gültiger Quantor ist, wird ein weiterer Syntaxfehler, unvollständiger Quantor, ausgelöst.

Beispiele

>

Ungültige Fälle

js
/{{MDN_Macro}}/u;
/\[sic]/u;

Gültige Fälle

js
// All { and } need to be escaped
/\{\{MDN_Macro\}\}/u;
// The ] needs to be escaped
/\[sic\]/u;

Siehe auch