Einfache Regex-Funktion, die dem Anfang einer Zeichenfolge "Bananas:" entspricht und den zweiten Teil zurückgibt. Ich habe nicht die Regex tun, aber es ist nicht so, wie ich es erwartet:Regex-Übereinstimmung, gibt den verbleibenden Rest der Zeichenfolge zurück
import re
def return_name(s):
m = re.match(r"^Bananas:\s?(.*)", s)
if m:
# print m.group(0)
# print m.group(1)
return m.group(1)
somestring = "Bananas: Gwen Stefani" # Bananas: + name
print return_name(somestring) # Gwen Stefani - correct!
Aber ich bin überzeugt, dass Sie nicht über die Gruppe identifizieren sich mit (.*)
, um die gleichen Ergebnisse zu erhalten . dh ersten Teil der Zeichenkette abgleichen - den restlichen Teil zurückgeben. Aber ich bin mir nicht sicher, wie ich das machen soll.
Auch ich las irgendwo, dass Sie vorsichtig sein sollten mit .*
in einem Regex.