Regular expressions

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.
alpha
User
Beiträge: 195
Registriert: Freitag 23. Mai 2003, 23:24
Wohnort: Ulm

Regular expressions

Beitragvon alpha » Freitag 12. August 2005, 13:52

Ich bins schon wieder :-)

noch ne schnelle Frage zu Wildcards.
Kann mir jemand sagen warum das:

Code: Alles auswählen

s = '\t\t\t\t<Parameter Vartype="VT_R4">Istsbc</Parameter>\n'
>>> ts = re.compile(r'(?<=>)[\w\s]*(?=</Parameter>)')
>>> xmlUnit = ts.findall(s)
>>> xmlUnit
['Istsbc']


funktioniert, und das

Code: Alles auswählen

>>> s = '\t\t\t\t<Parameter Vartype="VT_R4">Ist-sbc</Parameter>\n'
>>> ts = re.compile(r'(?<=>)[\w\s]*(?=</Parameter>)')
>>> xmlUnit = ts.findall(s)
>>> xmlUnit
[]


nicht???
Irgendwie mag er den - nicht.
Hätte bei Wildcards besser aufpassen sollen :oops:

Danke
mawe
Python-Forum Veteran
Beiträge: 1209
Registriert: Montag 29. September 2003, 17:18
Wohnort: Purkersdorf (bei Wien [Austria])

Beitragvon mawe » Freitag 12. August 2005, 14:01

Hi!

Naja, "-" ist bei \w nicht dabei. Kannst ja [\w\s-] nehmen. Oder gleich ".*" ?

Gruß, mawe
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Freitag 12. August 2005, 14:44

alpha, das sieht sehr nach meinem lustigen Regex zum Bekommen des Inhalts von Tag aus :D (einem meiner wenigen gelungenen).

Gut, mawe dass du .* erwähnst, genau das habe ich gebraucht! Ich habe den Regulären Ausdruck jetzt so ziemlich überall editiert, so dass dort .* statt [\w|\s]* steht. Noch anzumerken ist, dass der Punkt alles außer Newlines matcht, Newlines damit matchen kann man im Modus re.DOTALL.
My god, it's full of CARs! | Leonidasvoice vs Modvoice

Wer ist online?

Mitglieder in diesem Forum: Bing [Bot]