Python: Listen und Zeichenketten
Habe ich folgende:
temp = "aaaab123xyz@+"
lists = ["abc", "123.35", "xyz", "AND+"]
for list in lists
if re.match(list, temp, re.I):
print "The %s is within %s." % (list,temp)
Den re.match ist nur der Anfang der Zeichenkette, Wie ich mit substring in zwischen auch.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie
re.search
stattre.match
.Es auch scheint, dass Sie nicht wirklich brauchen, reguläre Ausdrücke hier. Der reguläre Ausdruck
123.35
wahrscheinlich nicht tun, was Sie erwarten, weil der dot passt alles.Wenn dies der Fall ist, dann können Sie tun, einfache string-containment mit
x in s
.Verwenden
re.Suche
oder einfach inif l in temp:
Hinweis: built-in-Typ
list
sollte nicht beschattet werden, sofor l in lists:
ist besserin
ist viel einfacher, als re.Suche.Können Sie dies mit einer etwas komplexeren Prüfung mit
map
undany
.Ich bin mir nicht sicher, ob dies schneller ist als einer kompilierten regexp.