Abo mit Regex - Hilfe gesucht
-
Hallo @jo-grothe
Danke für deine Antwort. Natürlich habe ich den Wikipedia-Artikel gelesen. Leider hat mich der nicht weitergebracht. Auch habe ich Tante Google gefragt - und wurde von den Resultaten erschlagen. Was ich meine herausgefunden zu haben ist das es viele Implementierungen von Regex(en) gibt, die sich alle “ein wenig” unterscheiden. Unterdessen habe ich irgendwo gelesen “wurde von Java (oder Javascript)” vererbt. Schränkt somit die Resultate deutlich ein.
“Mein” RegexAusdruck (sagt man so?) habe ich nicht wirklich verstanden bis auf das oder “|” und dank dir weiss ich jetzt das “?!” das Ausschluss-Kriterium ist und das Metazeichen escaped “” werden müssen. Schritt für Schritt komme ich weiter.
Ich habe den Tatort als Beispiel genommen. Es soll für mich ein (Universal-)Beispiel für weitere Abos werden - deswegen auch mit (OmU). Leider können die Seriennamen im Thema und/oder im Titel vorkommen, deshalb auch meine Idee den Regex im Feld Thema/Titel zu platzieren.
Danke, Rookie
PS: Das beste Ergebnis erhalte ich mit:
Thema/Titel: Tatort
Name: #:(?!.*(Tatorte|Hörfassung|(AD)|\(OmU\)|Audiodes(c|k)ription)).*
Mindestlänge: > 60 -
@jo-grothe sagte in Abo mit Regex - Hilfe gesucht:
In den 3 markierten Feldern funktionieren RegExen auf alle Fälle erwartungsgemäß, nicht jedoch im Feld ‘Thema:’. Hatte ich mal probiert, weil ich dachte, dass das Feld so aussieht wie die anderen 3 darunter. War aber Fehlanzeige bzw eine Fehleinschätzung meinerseits.
Einfach mal die Hilfe lesen:
Beim Abo müssen der “Sender” und das “Thema” exakt
passen.
Damit ist eigentlich alles gesagt.Beim “Titel” muss die Eingabe im Filmtitel
nur enthalten sein.
Beim Feld “Thema/Titel” muss das Feld im
“Thema” ODER “Titel” vorkommen. Bei “Irgendwo”
wird zusätzlich auch noch in der Beschreibung
gesucht
In den Filtern können auch reguläre Ausdrücken
verwendet werden. Diese müssen mit “#:” eingeleitet
werden und werden dann auf die entsprechenden
Felder des Films angewandtAllerdings könnte eine kleine Ergänzung zur Präzisierung, al la
“Reguläre Ausdrücke funktioniern in “Sender” und “Thema” nicht”
sicher nicht schaden -
Allg. kann ich euch bzgl. Regex folgende Seiten empfehlen:
https://regexr.com/
http://www.regexplanet.com/ -
Eine sehr gute Seite um alle Formen und verrückten Ausprägungen von Regular Expressions zu lernen, ist auch diese hier: https://www.regular-expressions.info/
-
Hallo @nicklas2751
ganz herzlichen Dank für deinen Tipp.
Rookie -
Hallo Leute,
ich lese jetzt schon seit einer Stunde die Infos “Abo mit Regex erstellen” und probiere verschiedene Ausdrücke, komme aber leider nicht weiter.
Ich möchte nur die folgenden Sendungen im Abo haben:
Thema: Babylon Berlin
Titel: #:.S02. (also nur die Folgen der Staffel 02, das klappt soweit)Aber nun möchte ich noch die Sendungen mit “(Audiodeskription)” im Titel herausfiltern.
Das kriege ich allerdings nicht auf die Reihe.Kann jemand helfen?
Welchen Ausdruck muss ich im Feld Titel eingeben?Danke!
-
@selbermachen sagte in Abo mit Regex - Hilfe gesucht:
Aber nun möchte ich noch die Sendungen mit “(Audiodeskription)” im Titel herausfiltern.
Das kriege ich allerdings nicht auf die Reihe.Kann jemand helfen?
Welchen Ausdruck muss ich im Feld Titel eingeben?Wenn du auch sonst keine Filme mit Audiodeskription möchtest, nimm die Blacklist.
-
@selbermachen sagte in Abo mit Regex - Hilfe gesucht:
@jkrieger
Ok danke, aber könntest du mir trotzdem den richtigen Ausdruck verraten?Ich versuch’s mal:
#:.*S02.*(?!\(Audiodeskription\))Das ist leider ungetestet, da ich kein neues Abo anlegen kann, weil ich schon eins hab auf Babylon Berlin und im Filterfeld stürzt mir MV ab.
Testen geht jetzt, aber leider klappt es noch nicht. Ich melde mich, wenn ich mehr weiß.
-
@jkrieger
#:.S02.(?!\(Audiodeskription\)) funktioniert leider nicht.
Es werden alle Folgen aus Staffel S02 angezeigt. Auch die mit Audiodeskription.Trotzdem danke für den Versuch!
Gibt es andere Vorschläge?
Ich möchte, dass es funktioniert und ich es verstehe!
Danke! -
Immer noch nicht fertig, aber was funktionieren sollte
#:.*S02.*(?<!\(Audiodeskription\))
Blöderweise sind
-
- die Sendungen weg wegen Crawlerfehler.
-
- klappt das mit dem negativen Lookbehind wohl auch nicht.
Zum Testen nehme ich Maja statt S02.
Über Verbesserungen würde ich mich freuen.
Trotzdem rate ich zur Blacklist
-
-
@jkrieger sagte in Abo mit Regex - Hilfe gesucht:
Immer noch nicht fertig, aber was funktionieren sollte
#:.*S02.*(?<!\(Audiodeskription\))
Dieser Ausdruck ist ok, weitere “verbotene Enden” kann man einfach genauso dahinter schreiben.
Zum Testen nehme ich Maja statt S02.
Das war das Problem, es passte aufs Thema. Mit "Maja " klappt alles.
-
DANKE!!!
Das von dir
#:.S02.(?<!\(Audiodeskription\))Und das
#:.S02.(?<!Audio.*)funktioniert.
Aber warum?
Ich verstehe nicht warum das Zeichen \ und die Klammern brauche…(Ist es normal, dass man den Backslash im regulären Ausdruck hier zweimal eingeben muss damit er einmal angezeigt wird? Warum?
-
@selbermachen
Die Klammern gehören zum Suchtext “(Audiodeskription)” und haben mit regex ansonsten nichts zu tun.
Bitte beim Schreiben von Text die RegEx als Code formatieren, da ansonsten wichtige Zeichen wie das Sternchen oder ein Backslash entfernt werden. -
@menchensued sagte in Abo mit Regex - Hilfe gesucht:
Bitte beim Schreiben von Text die RegEx als Code formatieren, da ansonsten wichtige Zeichen wie das Sternchen oder ein Backslash entfernt werden.
Man kann das natürlich auch händisch machen, aber dann leidet man schnell unter LTS (Leaning Toothpick Syndrome).
-
@menchensued sagte in Abo mit Regex - Hilfe gesucht:
@selbermachen
Die Klammern gehören zum Suchtext “(Audiodeskription)” und haben mit regex ansonsten nichts zu tun.
Bitte beim Schreiben von Text die RegEx als Code formatieren, da ansonsten wichtige Zeichen wie das Sternchen oder ein Backslash entfernt werden.OK, ich habe nun folgendes verstanden:
Der Suchtext ist “(Audiodeskription)” mit Klammern.
Und damit die Klammer “gefunden” wird, braucht man jeweils davor das Escape-Zeichen “\”.Aber ich verstehe nicht, warum es nicht funktioniert, wenn man die beiden Klammern und die dazugehörigen Escape-Zeichen weglässt. Es sollte doch egal sein ob man nach “(Audiodeskription)” oder “Audiodeskription” sucht.
Es funktioniert ja auch mit dem folgenden Ausdruck:
#:.*S02.*(?<!Audio.*)
Hat jemand Lust mir das zu erklären?
Danke und Gruß
Thomas -
@selbermachen sagte in Abo mit Regex - Hilfe gesucht:
Aber ich verstehe nicht, warum es nicht funktioniert, wenn man die beiden Klammern und die dazugehörigen Escape-Zeichen weglässt. Es sollte doch egal sein ob man nach “(Audiodeskription)” oder “Audiodeskription” sucht.
Es funktioniert ja auch mit dem folgenden Ausdruck:
#:.*S02.*(?<!Audio.*)
Hat jemand Lust mir das zu erklären?
Die regulären Ausdrücke sind “verankert”, sie müssen vom Anfang bis zum Ende des Zielstrings reichen. Das .*S02.* erledigt das gut. Der Rest bedeutet, das direkt vor dem Ende des Strings nicht z.B. (Audiodeskription) steht. Das passt. Ebenso passt Audio.*, auch wenn das falsche Treffer geben kann. Aber Audiodeskription steht eben nicht direkt vor dem Ende des Strings, weil eben noch die Klammer dahinter steht. Mein regulärer Ausdruck ist nur deshalb so kompliziert, weil es eben nicht auftauchen darf.