Ich habe noch ein Problem.
Ich will eine Menge von RegExen solange über einen String laufen lassen, bis der leer ist.
Aber ich gerate in eine Endlosschleife. Zwar wird der String nach jedem Treffer abgeschnitten (zweites Print zeigt das), aber irgendwie merkt es die while-Schleife nicht.
Kann da wer helfen?
BBB
Code: Alles auswählen
def regexaufbuffer(regexliste,buffe,dateizumreinschreiben):
zaehler = 0
while buffe:
print buffe
if zaehler == 4:
for i in range(0,len(buffe)):
string = buffe[i]+"\t"+"Unknown"
dateizumreinschreiben.write(string)
buffe.replace(buffe[i],"")
for tupel in regexliste:
regex = tupel[0]
regaus = re.compile(regex)
matched = regaus.match(buffe)
if matched:
print "Juhu"
treffer = regaus.finditer(buffe)
if matched:
for x in treffer:
schreibstring = x.group(0)+"\t"+tupel[1]
dateizumreinschreiben.write(schreibstring)
x = matched.start()
y = matched.end()
buffe.replace(buffe[x:y],"")
print buffe
print "hier was replaced"
zaehler = 0
break
else:
zaehler = zaehler+1