Python - wie verwende ich re, um eine ganze Zeichenfolge zu finden

8

Ich validiere die Texteingabe von einem Benutzer, so dass er nur Buchstaben, aber keine Zahlen akzeptiert. Bisher funktioniert mein Code gut, wenn ich eine Nummer eintippe (z. B. 56), er warnt mich, dass ich nur Buchstaben eingeben soll und wenn ich Buchstaben eintippe, gibt es nichts zurück (wie es sollte). Mein Problem ist, dass es es akzeptiert, wenn ich anfange, indem ich Buchstaben eintippe, gefolgt von Zahlen, z. (S45). Es akzeptiert den ersten Buchstaben, aber nicht die ganze Zeichenfolge. Ich brauche es, um die ganze Zeichenfolge zu akzeptieren.

%Vor%     
Thomas 11.04.2013, 17:00
quelle

4 Antworten

31

Verankere es am Anfang und am Ende und passe ein oder mehrere Zeichen an:

%Vor%

Hier verankert sich ^ am Anfang der Zeichenfolge, $ am Ende und + stellt sicher, dass Sie 1 oder mehr Zeichen zuordnen.

Sie wären besser dran, wenn Sie stattdessen str.isalpha() verwenden. Keine Notwendigkeit, nach dem kräftigen regulären Ausdruckhammer hier zu greifen:

%Vor%     
Martijn Pieters 11.04.2013, 17:02
quelle
4

Verwenden Sie Grenzen in Ihrer Regex + Raw-Zeichenfolge, um die Regex wie folgt zu kodieren:

%Vor%     
Aprillion 11.04.2013 17:02
quelle
3

Sie könnten in Erwägung ziehen, isalpha () für die Zeichenfolge zu verwenden. Sie gibt true zurück, wenn die Zeichenfolge nur alphabetische Zeichen enthält, andernfalls false.

%Vor%     
sizzzzlerz 11.04.2013 17:07
quelle
0

Wenn Sie nach hübschen pythonischen Schriften suchen, gehen Sie nach isalpha und isdezimal:

%Vor%     
Louis 22.05.2014 08:26
quelle

Tags und Links