Hallo,
Ich suche in einem Text nach dem bestimmten Zeichenfolgen. Eigentlich klappt das auch ganz gut mit:
node_pos = str("Node")
muster = re.compile(node_pos)
treffer = muster.search(inhalt)
allerdings möchte ich eigentlich nicht nach "Node" sondern nach "*Node" suchen. "*" ist leider das Zeichen für Widerholung und ich bekomme immer eine Fehlermeldung!
Wie könnte ich da drangehen?
Danke schonmal^^
Nach Sonderzeichen suchen
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Das ist ziemlich schräg:
erstere Zeile ließe ich doch auch so schreiben:
Zudem ist der Name irreführend; "pos" erinnert an "Position"; das ist aber keine Positionsangabe...
Es reicht doch
Hast Du Dir mal das re-Modul angeguckt? Da ist sogar noch zu einer guten Einführung verlinkt. Damit solltest Du schnell finden, wie man das "*" richtig einsetzt (Tipp: * steht für beliebig viele Wiederholungen von dem Ausdruck davor...)
Außerdem nutze in Zulunft bitte die Python-Code-Tags; dadurch gehen evtl. Einrückungen nicht verloren und das ganze sieht hübsch bunt aus
Code: Alles auswählen
node_pos = str("Node")
muster = re.compile(node_pos)
Code: Alles auswählen
node_pos = "Node"
Es reicht doch
Code: Alles auswählen
pattern = re.compile(r"Node")
Außerdem nutze in Zulunft bitte die Python-Code-Tags; dadurch gehen evtl. Einrückungen nicht verloren und das ganze sieht hübsch bunt aus
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert
@goldenflash: Du musst den Stern durch einen '\' maskieren, damit er für den regulären Ausdruck seine besondere Bedeutung verliert: ``pattern = re.compile(r'\*Node')``
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Ach mensch, das hab ich wohl falsch verstanden...BlackJack hat geschrieben:@goldenflash: Du musst den Stern durch einen '\' maskieren, damit er für den regulären Ausdruck seine besondere Bedeutung verliert: ``pattern = re.compile(r'\*Node')``
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert
-
- User
- Beiträge: 2
- Registriert: Mittwoch 20. Oktober 2010, 12:32
Hab ganz vergessen mich zu bedanken!BlackJack hat geschrieben:@goldenflash: Du musst den Stern durch einen '\' maskieren, damit er für den regulären Ausdruck seine besondere Bedeutung verliert: ``pattern = re.compile(r'\*Node')``
Danke!