SyntaxError: Negierte Zeichenklasse mit Strings im regulären Ausdruck
Die JavaScript-Ausnahme "negated character class with strings in regular expression" tritt auf, wenn eine v
-Modus-Zeichenklasse negiert wird und möglicherweise in der Lage ist, einen String (mehr als ein Zeichen) zu matchen.
Nachricht
SyntaxError: Invalid regular expression: /[^\p{RGI_Emoji_Flag_Sequence}]/v: Negated character class may contain strings (V8-based) SyntaxError: negated character class with strings in regular expression (Firefox) SyntaxError: Invalid regular expression: negated class set may contain strings (Safari)
Fehlertyp
Was ist schiefgelaufen?
Im v
-Modus können Zeichenklassen mehr als ein Zeichen matchen. Zum Beispiel würde /[\q{abc}]/v
die Sequenz "abc"
matchen, und /[\p{RGI_Emoji_Flag_Sequence}]/v
würde jede Zeichenfolge matchen, die eine Emoji-Flagge darstellt. Allerdings dürfen negierte Zeichenklassen [^...]
keine Strings matchen, daher ist /[^\p{RGI_Emoji_Flag_Sequence}]/v
ungültig, weil unklar ist, wie viele Zeichen sie matchen sollten. Weitere Informationen finden Sie im v
-Modus-Zeichenklasse Referenz.
Beispiele
Ungültige Fälle
/[^\p{RGI_Emoji_Flag_Sequence}]/v;
Gültige Fälle
// Matches two characters that are not an emoji flag sequence
/(?!\p{RGI_Emoji_Flag_Sequence})../v;