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: ungültiger Bereich in Zeichensatz

Der JavaScript-Ausnahmefehler "ungültiger Bereich in Zeichensatz" tritt auf, wenn eine Zeichenklasse in einem regulären Ausdruck einen Bereich verwendet, bei dem der Anfang des Bereichs größer ist als das Ende.

Meldung

SyntaxError: Invalid regular expression: /[2-1]/: Range out of order in character class (V8-based)
SyntaxError: invalid range in character class (Firefox)
SyntaxError: Invalid regular expression: range out of order in character class (Safari)

Fehlerart

SyntaxError

Was ist schiefgelaufen?

In Zeichenklassen können Sie zwei Zeichen mit einem Bindestrich - verbinden, um ein inklusives Intervall von Zeichen basierend auf ihren Unicode-Codepunkten darzustellen. Zum Beispiel, [a-z] entspricht jedem Kleinbuchstaben. Wenn jedoch das Ende des Bereichs kleiner als der Anfang ist, kann der Bereich nichts übereinstimmen und ist wahrscheinlich ein Fehler.

Beispiele

Ungültige Fälle

js
/[9-1]/; // The range is out of order
/[_-=]/; // _ has value 95, = has value 61

Gültige Fälle

js
/[1-9]/; // Swap the range
/[_\-=]/; // Escape the hyphen so it matches the literal character

Siehe auch