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
/[\f\v\n\t\ ]/u;
Gültige Fälle
// There's no need to escape the space
/[\f\v\n\t ]/u;