ich habe ein Problem mit regular expressions.
Ich möchte das Wort 'es' zu 'dis' ersetzen, aber nur dann, wenn es am Anfang eines Wortes oder einer Zeile steht, aber nicht wenn es irgendwann nach einem %-Zeichen kommt.
Ich habe es mit folgendem Skript probiert:
Code: Alles auswählen
#!/usr/bin/env python3
from re import *
text = "es geht nicht, so geht es nicht, so geht es nicht weiter, essen wir lieber % es ist ein Kommentar"
#esString = compile("(?!%.*)[\s|\A]es(?!\w)") # das gibt leider eine Fehlermeldung
esString = compile("(?!%.*)\ses(?!\w)")
ohnees = esString.sub(" dis",text)
print(ohnees)
Code: Alles auswählen
es geht nicht, so geht dis nicht, so geht dis nicht weiter, essen wir lieber % dis ist ein Kommentar