Ich möchte Substitutionen mit Regex, nicht für alle Übereinstimmungen, sondern nur für bestimmte ausführen. re.sub
ersetzt jedoch alle Übereinstimmungen. Wie kann ich das machen?Ersatz spezifische Übereinstimmungen mit Regex
Hier ist ein Beispiel. Sag mal, habe ich einen String mit folgendem Inhalt:
FOO=foo1
BAR=bar1
FOO=foo2
BAR=bar2
BAR=bar3
Was ich will, ist dies zu tun:
re.sub(r'^BAR', '#BAR', s, index=[1,2], flags=re.MULTILINE)
das folgende Ergebnis zu erhalten.
FOO=foo1
BAR=bar1
FOO=foo2
#BAR=bar2
#BAR=bar3
, was Sie mit 'index = [1,2] '? Du meintest, dass du das zweite und dritte Spiel spielen willst? – Kasramvd
Ich denke, er meinte, wenn meine Streichhölzer in einer Liste L sind, wenden Sie Änderungen auf L [1] und L [2] an, aber nicht auf L [0] – quemeraisc
Ja, das stimmt. 'index = [1,2]' gibt an, welche von den mehreren Treffern dort ersetzt werden sollen. In diesem Fall möchte ich nur die zweiten und dritten Übereinstimmungen ersetzen, und zuerst ("index == 0") sollte man so belassen werden wie es ist. –