Regex...ich dreh durch

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
tom.somebody
User
Beiträge: 12
Registriert: Montag 15. Juli 2019, 20:39

Hi, ich bin gerade dabei Python zu lernen und nun bei Regex gelandet...Also etwas mit dem Code rumgespielt und ich bekomme irgendwie nicht die erwartete Ausgabe und ich check nicht warum. Ich sitze da schon eine knappe Stunde dran und komme kein Stück weiter...ich komme mir echt dumm vor. Kann vielleicht einer von euch bitte den folgenden Code anschauen und mir eventuell erklären, warum ich beim Aufruf von gefunden.group(2) nur einen leeren String erhalte. Demjenigen wäre ich mega dankbar. Echt jetzt!

Code: Alles auswählen

import re
suchstring = 'Vorname: Hans Nachname: Meiser ist der geilste!'
name_regex = re.compile(r'Vorname: (.*) Nachname: (\w*?)')
name_gefunden = name_regex.search(suchstring)
print(name_gefunden.group(1)) # Die Ausgabe passt und ich erhalte Hans
print('AAaaaahhhhhhh!' if name_gefunden.group(2) == '' else name_gefunden.group(2)) # Hier bekomme ich einen leeren String und ich check nicht warum. Ich sollte mMn Meiser erhalten. 
Ich weiß, dass ich nichts weiß und jetzt wisst ihr es auch. Also Vorsicht bei meinen Beiträgen.
Benutzeravatar
__blackjack__
User
Beiträge: 14050
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@tom.somebody: Das Fragezeichen sagt ”die kürzeste Möglichkeit”, und das "*" sagt 0 bis unendlich viele Treffer. Bei 0 bis irgendwas ist 0 das kürzeste, also bekommst Du die leere Zeichenkette zwischen dem Leerzeichen und dem "M" von "Meiser" als Treffer.
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
tom.somebody
User
Beiträge: 12
Registriert: Montag 15. Juli 2019, 20:39

LOL...wie dumm von mir. :oops:

@__blackjack__: Vielen Dank für deine Antwort. Der Groschen ist jetzt angekommen :D ...nur das ? weglassen. Also nochmal danke und du hast'ne coole Signatur.
Ich weiß, dass ich nichts weiß und jetzt wisst ihr es auch. Also Vorsicht bei meinen Beiträgen.
Antworten