Frage zu regular expression

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
meneliel
User
Beiträge: 256
Registriert: Montag 25. Juni 2007, 08:35
Kontaktdaten:

Montag 10. März 2008, 11:10

Ich möchte aus einem String auslesen, was zwischen zwei Wörtern steht. Hab ein bisschen gesucht und was gefunden, was ein bisschen passen könnte

folgender Ansatz:

Code: Alles auswählen

import re
expr = re.compile("Wort1.", re.IGNORECASE)
expr.sub("",selection)
Damit krieg ich zumindest schon alles nach dem 1. Wort.
Probiere jetzt schon ewig rum, schaffe es aber nicht so richtig, dass vor dem 2. Wort Schluss ist mit auslesen :(
Benutzeravatar
helduel
User
Beiträge: 300
Registriert: Montag 23. Juli 2007, 14:05
Wohnort: Laupheim

Montag 10. März 2008, 11:30

Moin,

was du da machst ist lediglich "Wort1." (wobei der Punkt ein beliebiges Zeichen darstellt) mit einem leeren String zu ersetzen - also zu löschen. Du willst, denk ich mal. eher sowas:

Code: Alles auswählen

import re
text = "Hallo Wort1, dies ist Wort2."
expr = re.compile("Wort1(.*)Wort2", re.IGNORECASE)
print expr.search(text).groups()
Vielleicht solltest du dich nochmal eingehender mit Regulären Ausdrücken beschäftigen. Auf http://regular-expressions.info gibt es IMO ein ganz gutes Tutorial, das auch erklärt, wie so eine Regex-Engine genau funktioniert.

Gruß,
Manuel
meneliel
User
Beiträge: 256
Registriert: Montag 25. Juni 2007, 08:35
Kontaktdaten:

Montag 10. März 2008, 11:39

Genau so was.

Ich hatte nur Wort1 Stehen, weil ich nicht wusste, wie ich Wort2 da rein bringe.

Hatte es sogar schon mit einem "Wort1.*Wort2" probiert, aber das brachte nicht die erwünschte Ausgabe.

Aber so, wie du es geschrieben hast, funktioniert es genau richtig, aber auch nur mit search und nicht mit sub ... hmm.

Danke für den Link.
*gestehen muss, dass ich mit den Erklärungen da: http://docs.python.org/lib/module-re.html Probleme hatte die zu verstehen :(, hab das net so richtig kapiert :(*
BlackJack

Montag 10. März 2008, 12:43

Zusätzlich zur Doku zum Modul ist das Regular Expression HOWTO lesenswert.

Und natürlich das überall erwähnte Buch von Friedl. :-)
meneliel
User
Beiträge: 256
Registriert: Montag 25. Juni 2007, 08:35
Kontaktdaten:

Montag 10. März 2008, 20:48

BlackJack hat geschrieben:Zusätzlich zur Doku zum Modul ist das Regular Expression HOWTO lesenswert.

Und natürlich das überall erwähnte Buch von Friedl. :-)
Das HowTO hab ich schon mehrfach drin rumgelesen :(

Buch von Friedl? Mal suchen geh....
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Montag 10. März 2008, 20:56

meneliel hat geschrieben:Buch von Friedl? Mal suchen geh....
Mastering Regular Expressions. Fast schon legendär, ich habe allerdings die 1. Ausgabe, die noch von Python 1.4 handelt. Ist aber recht egal, denn das Buch ist nicht sonderlich Implementationsgebunden.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
meneliel
User
Beiträge: 256
Registriert: Montag 25. Juni 2007, 08:35
Kontaktdaten:

Dienstag 11. März 2008, 07:43

Das Hatte ich in der Buchhandlung sogar schon mal in der Hand :)...
Danke. Ich glaube da geh ich heute mal hin ...
Antworten