SyntaxError: ungültige Identitätsflucht in regulärem Ausdruck

Die JavaScript-Ausnahme "ungültige Identitätsflucht in regulärem Ausdruck" tritt auf, wenn ein Unicode-bewusstes reguläres Ausdrucksmuster eine Escape-Sequenz enthält, die keine anerkannte Escape-Sequenz darstellt.

Nachricht

SyntaxError: Invalid regular expression: /\q/u: Invalid escape (V8-based)
SyntaxError: invalid identity escape in regular expression (Firefox)
SyntaxError: Invalid regular expression: invalid escaped character for Unicode pattern (Safari)

Fehlertyp

Was ist schiefgelaufen?

Im Unicode-unbewussten Modus konnte \ verwendet werden, um jedes Zeichen zu maskieren, einschließlich solcher ohne definierte Bedeutung. In diesen Fällen repräsentiert das maskierte Zeichen sich selbst. Zum Beispiel würde \q das Zeichen q abgleichen. Dies beschränkt die Möglichkeit, in Zukunft neue Escape-Sequenzen hinzuzufügen, erheblich, daher sind im Unicode-bewussten Modus nur anerkannte Escape-Sequenzen erlaubt. Fügen Sie \ nicht überflüssig hinzu.

Dieser Fehler wird auch ausgelöst, wenn das \x Zeichenescape nicht von zwei hexadezimalen Ziffern gefolgt wird.

Für eine vollständige Liste der verfügbaren Escape-Sequenzen siehe das Referenzdokument zu regulären Ausdrücken. Für eine Tabelle, welche Zeichen in jedem Kontext wörtlich maskiert oder unmaskiert erscheinen können, siehe wörtliche Zeichen.

Beispiele

Ungültige Fälle

js
/[\f\v\n\t\ ]/u;

Gültige Fälle

js
// There's no need to escape the space
/[\f\v\n\t ]/u;

Siehe auch