ich habe ein kleines Problem mit Regex, da das ganze schwer zu beschreiben ist, hier mal ein kleines Beispiel:
Code: Alles auswählen
test="a=aaa a=bbb ende"
print re.findall("a=(.*?) ende",test)
Jemand einen guten Tipp?
Grüße
Dom
Code: Alles auswählen
test="a=aaa a=bbb ende"
print re.findall("a=(.*?) ende",test)
Code: Alles auswählen
print re.findall("a=(\w*?) ende",test)
Code: Alles auswählen
html='<a href="link1.html">Link Text 1</a> | <a href="link-pg3442-1.html?PHPSESSID=5708116dd0bdf2c931d1b539c4ec4d98">weiter</a></p> </div> '
print re.findall("<a href=\"(\w*?)\">weiter",html)
Code: Alles auswählen
print re.findall("<a href=\"([^\"]*)\">weiter",html)
Wenn du jetzt noch eine erläutern hinterher schießt, bin ich wunschlos glücklichkarolus hat geschrieben:Code: Alles auswählen
print re.findall("<a href="([^"]*)">weiter",html)
Die eckigen Klammern definieren eine Zeichenklasse. Abgefragt werden also alle Zeichen die innerhalb definiert sind. Jetzt ist das erste Zeichen allerdings ein ^. Das sagt wiederum, dass die folgenden Zeichen nicht vorkommen dürfen, alle anderen hingegen schon. Die folgenden Zeichen sind jetzt ", wobei der Backslash nur ein Escape-Zeichen ist und somit nur das Anführungszeichen übrig bleibt. Der Stern (*) hinter der eckigen Klammer steht für 0 bis beliebig viele Wiederholungen.da.dom hat geschrieben: [^"]*
Da komme ich nicht ganz mit und verstehe die Dokumentation in dem Punkt auch nicht