Abo mit Regex - Hilfe gesucht
-
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.
-
@jkrieger sagte in Abo mit Regex - Hilfe gesucht:
Die regulären Ausdrücke sind “verankert”, sie müssen vom Anfang bis zum Ende des Zielstrings reichen.
Das ist aber nur in MV so. Wo anders muss man dazu erst mit ^ am Anfang und $ am Ende dafür sorgen, wenn man es braucht.
-
@mvsfsvm sagte in Abo mit Regex - Hilfe gesucht:
@jkrieger sagte in Abo mit Regex - Hilfe gesucht:
Die regulären Ausdrücke sind “verankert”, sie müssen vom Anfang bis zum Ende des Zielstrings reichen.
Das ist aber nur in MV so. Wo anders muss man dazu erst mit ^ am Anfang und $ am Ende dafür sorgen, wenn man es braucht.
Naja, die von MV verwendeten Java-Funktionen machen es eben so.
“Nur in MV” ist also etwas übertrieben, aber ich bin auch die andere Voreinstellung gewöhnt. -
Ah, jetzt kommen wir der Sache mit der Verankerung schon näher! Danke für diese Info! Ich hatte nämlich gerade folgendes gelesen:
Will man dies sofort am Anfang testen, so muss man ein ^ als erstes Zeichen im regulären Ausdruck setzen…
Analog kann man einen Mustervergleich am Ende eines Strings durchführen mit einem $ am Ende des regulären Ausdrucks…Und das trifft ja hier scheinbar nicht zu.
Und woher soll man das wissen?
Und wo steht das?Weiß das jemand?
Danach werde ich es vermutlich gut sein lassen…
:face_with_stuck-out_tongue_winking_eye: -
Ok, verstanden, es kommt wohl auf die Programmiersprache an…
Danke euch, schöne Zeit noch!
Gruß
Thomas -
@selbermachen
Und weil das mit dem Negieren schnell kompliziert werden kann, erschlägt man diese Audiodeskpritionen und anderes schon von Anfang an mit einer Regex in der Blacklist.
zb.#:.*Audiodeskription.*
oder#:.*Audiodes(c|k)ription.*
, falls ihnen die Denglish Zügel durchgehen.Sonst stehst man bei dem nächsten Abo schnell vor dem gleichen Problem und fragt sich wie man das 6 Monate vorher nochmal gelöst hat…
-
@selbermachen sagte in Abo mit Regex - Hilfe gesucht:
Und woher soll man das wissen?
Und wo steht das?In der Anleitung.