Ich versuche, eine Liste aller Teils der Form zu erhalten:Python Regex findall() Rückkehr falschen Teils
Kolon + Folge von zwei Buchstaben unter bestimmten Sequenzen + Zahlenwert mit mindestens 1 Ziffer
import re
DATA_SUB = ':(TI|LO|TE|HU|AN|FO)[0-9\.]+'
print(re.findall(DATA_SUB, '%145:TI15:LO1.6213:TE97$'))
Ergebnis:
['TI', 'LO', 'TE']
wobei es sein sollte:
[':TI15', ':LO1.6213', ':TE97']
am re.findall Suche() Dokumentation:
Zurück alle nicht-überlappende Spiele von Muster in String, als eine Liste von Strings
kann man schließen, dass die oben beschriebene Methode sollte arbeite. Was mache ich falsch?
Verwenden 'DATA_SUB =‚:(?: TI | LO | TE | HU | AN | FO) [0-9 \.] + '' –
Siehe auch http://StackOverflow.com/a/32105510/3832970 –