Python-regex: Einschließlich Leerzeichen innerhalb character Bereichs
Ich habe einen regulären Ausdruck entspricht, Alphabete, zahlen, _ und - (mit einer minimum-und maximum-Länge).
^[a-zA-Z0-9_-]{3,100}$
Ich möchte whitespace-Zeichen in diesem Zeichensatz.
Gemäß der Python-Dokumentation:
Charakter-Klassen wie \w oder \S werden auch akzeptiert in einem Satz.
Also habe ich versucht:
^[a-zA-Z0-9_-\s]{3,100}$
Aber es gibt schlechte Charakter-Auswahl Fehler. Wie kann ich Leerzeichen in der obigen Reihe?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Das problem ist nicht die
\s
aber die-
was kennzeichnet einen Zeichenbereich, es sei denn, es ist am Ende oder an den Anfang der Klasse. Verwenden Sie diese:^[-a-zA-Z0-9_\s]{3,100}
_-\s
wurde gedeutet als eine Reihe. Ein Strich repräsentiert selbst das erste oder Letzte Zeichen innerhalb [...]Du bist auf der richtigen Spur ist, Fügen Sie einen zweiten umgekehrten Schrägstrich als escape-der Schrägstrich, backslash ist ein escape-Zeichen.