Datei filtern mit regex

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
The Hit-Man
Beiträge: 2224
Registriert: 21.11.2004 17:01:56
Wohnort: Menden ( Sauerland )
Kontaktdaten:

Datei filtern mit regex

Beitrag von The Hit-Man » 09.01.2023 06:05:25

Ich sitze seit gestern dran und bekomme es eifach nicht hin unter Python nen vernünftigen regex Filter zu erstellen. Kann vielleicht jemand helfen?
Wie man sieht ist das ja ne m3u Datei:

Code: Alles auswählen

#EXTM3U
#EXT-X-SESSION-DATA:DATA-ID="com.xui.1_5_5r2"
#EXTINF:-1 tvg-id="DasErste.de" tvg-name="DE:: Das Erste SD" tvg-logo="http://live.iptv.co:8080/images/51e7682a87cfb0a577b3eb7123710739.png" group-title="Germany HD +",DE:: Das Erste SD
http://655.tv.co:8080/xYkSenw/QnBQN37/300442.ts
#EXTINF:-1 timeshift="3" tvg-id="ARDGRHD" tvg-name="DE:: Das Erste HD" tvg-logo="http://live.iptv.co:8080/images/51e7682a87cfb0a577b3eb7123710739.png" group-title="Germany HD +",DE:: Das Erste HD
http://655.tv.co:8080/xYkSenw/QnBQN37/54552.ts
Nun hätte ich gerne alle Werte aus den Anführungszeichen von tvg-name, tvg-logo, group-title und natürlich die da drunter stehende URL. Bin an diesem regex ja echt am verzweifeln ...
Wer HTML postet oder gepostetes HTML quotet oder sich gepostetes oder
gequotetes HTML beschafft, um es in Verkehr zu bringen, wird geplonkt.

damals windows, früher ubuntu, danach debian, heute arch-linux ;)

Benutzeravatar
The Hit-Man
Beiträge: 2224
Registriert: 21.11.2004 17:01:56
Wohnort: Menden ( Sauerland )
Kontaktdaten:

Re: Datei filtern mit regex

Beitrag von The Hit-Man » 09.01.2023 06:51:34

Glaube, hier mit kann ich leben:

Code: Alles auswählen

result = re.compile(r'\btvg-name="([^"]+)".tvg-logo="([^"]+)".group-title="([^"]+)",(.*?)\n*(https?\S+)').findall(data)
Wer HTML postet oder gepostetes HTML quotet oder sich gepostetes oder
gequotetes HTML beschafft, um es in Verkehr zu bringen, wird geplonkt.

damals windows, früher ubuntu, danach debian, heute arch-linux ;)

Antworten