Seite 1 von 1

Regex Pattern

Verfasst: Donnerstag 20. Oktober 2022, 17:46
von coder007
Hallo zusammen,
ich suche ein Regex Patten. Ich habe einen Text(Alice im Wunderland) und suche folgenden Satz(Unterstriche stehen für Wörter): das _ mir _ _ _ vor.
Hat Jemand eine Idee für ein Pattern? :?

Re: Regex Pattern

Verfasst: Donnerstag 20. Oktober 2022, 17:56
von sparrow
Was ist denn mit deinem Thread von gestern? War der nicht mehr gut?

Hier wird niemand deine Hausaufgaben für dich machen. Aber wir helfen dir gerne bei der Umsetzung. Allerdings musst du dafür schon eine entsprechende Eigeninitiative zeigen und gerne vorstellen, was du schon hast.

In der Dokumentation des Python Moduls re gibt es eine gute Übersicht, wie reguläre Ausdrücke funktionieren.
Ansonsten findet man im Netz wirklich viele Ein- und Anleitungen.

Re: Regex Pattern

Verfasst: Donnerstag 20. Oktober 2022, 18:03
von coder007
Ah danke diese Übersicht habe ich gebraucht

Re: Regex Pattern

Verfasst: Freitag 21. Oktober 2022, 20:45
von __blackjack__

Code: Alles auswählen

#!/usr/bin/env python3
from pathlib import Path

from pyparsing import CaselessLiteral, Regex, lineno


def main():
    text = Path("Downloads", "pg19778.txt").read_text("utf-8")

    word = Regex(r"\w+")
    das, mir, vor = map(CaselessLiteral, ["das", "mir", "vor"])
    needle = das + word + mir + word * 3 + vor

    for _, start, end in needle.scan_string(text, overlap=True):
        print(f"Zeile {lineno(start, text)}: {text[start:end]}")


if __name__ == "__main__":
    main()
Ausgabe:

Code: Alles auswählen

Zeile 483: Das kommt mir gar nicht richtig vor