/ / search Regex-Muster und Python-Funktion benötigt [closed] - Python, Regex

Suche Regex-Muster und Python-Funktion benötigt [geschlossen] - Python, Regex

Ich habe Datei welche die folgenden Aussagen enthält.

start < some 50 words > End          //need to work only on these types
start < some 50 words >
start < some 50 words > End
start < some 50 words >
< some 50 words > End

... Dieses Muster wird 10000 Mal wiederholt. Ich möchte die Zeilen ersetzen, die am Anfang "start" und am Ende "End" mit haben

start2 <same 50 words > End2.

Ich muss die gleichen Wörter zwischendurch behalten, nur den Anfang und das Ende ändern.

Antworten:

1 für die Antwort № 1
import re

data = """start < some 50 words > End
start < some 50 words >
start < some 50 words > End
start < some 50 words >
< some 50 words > End
"""

print re.sub("start(.*)End", "start2g<1>End.", data)

Drucke:

start2 < some 50 words > End.
start < some 50 words >
start2 < some 50 words > End.
start < some 50 words >
< some 50 words > End

1 für die Antwort № 2

Reguläre Ausdrücke sind mehr Arbeit, als Sie für dieses Problem benötigen - alles kann einfacher mit einfachen alten Zeichenfolgenmethoden durchgeführt werden:

def ReplaceStartEnd(s):
...    if s.startswith("start") and s.endswith("End"):
...       return "start2" + s[5:-3] + "End2"
...    else:
...       return s