2016-07-29 16 views
0

Test String S. S muss Länge, größer oder gleich 5 sein. First Char ist Kleinbuchstaben. Zweites Zeichen ist positive Ziffer. Third Char ist kein Kleinbuchstabenalphabet. Viertes Zeichen ist kein Großbuchstabenalphabet. Fünfte Char ist Großbuchstaben.Regulärer Ausdruck Beispiel in Python 3

import re 

Regex_Pattern = r"^[a-z][0-9][^a-z][^A-Z][A-Z]" 

print(str(bool(re.search(Regex_Pattern, input()))).lower()) 

Warum dieses Stück Code, kann ich nicht übereinstimmen die Zeichenfolge: a0$?ZWeFalse statt True Druck zu drucken?

+0

Warum sollte 'False' gedruckt werden, wenn es mit der Regex übereinstimmt? Vielleicht wollten Sie "lower" auf "input" anstatt auf "str (bool (...))" klicken? – DeepSpace

+0

Eigentlich möchte ich, dass die Zeichenfolge "False" anstelle von "True" ist. Ich meine 'a0 $? ZWe' passt nicht zusammen. Mein Fehler. –

+0

Aber es passt, es sei denn, Sie betrachten '0' nicht als positive Ziffer. Ändern Sie in diesem Fall '[0-9]' in '[1-9]'. – DeepSpace

Antwort

1

0 ist keine positive Ziffer, aber Sie passen es in Ihre Regex.

Änderung [0-9] zu [1-9].