problem mit regex
Verfasst: Freitag 14. März 2014, 15:48
Hallo zusammen,
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:
Als Ergebnis kriege ich:
Was kann ich tun, damit das Wort auch am Anfang einer Zeile bzw. eines Strings ersetzt wird und nicht ersetzt wird, wenn es nach einem %-Zeichen folgt?
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