ich finden müssen, zu verarbeiten und entfernen (eines nach der anderen), um alle Teile, die eine ziemlich lange Regex:Python Regex und ersetzen
# p is a compiled regex
# s is a string
while 1:
m = p.match(s)
if m is None:
break
process(m.group(0)) #do something with the matched pattern
s = re.sub(m.group(0), '', s) #remove it from string s
Der obige Code ist nicht gut aus 2 Gründen:
Es funktioniert nicht, wenn m.group (0) zufällig Regex-Sonderzeichen (wie *, +, etc.) enthält.
Es fühlt sich an, als ob ich die Arbeit dupliziere: zuerst suche ich die Zeichenkette nach dem regulären Ausdruck, und dann muss ich irgendwie danach suchen, um es wieder zu entfernen.
Was ist ein guter Weg, dies zu tun?
Danke, darüber vergessen .. – max
Ah und ich herausgefunden, was zu tun wenn ich eine Zeichenfolge ersetzen möchte, die Regex-Symbole enthalten kann .. re.escape (s) kümmert sich darum. – max
Entschuldigung aber was ist p? – CodyBugstein