Das neue Forum ist hier erreichbar:

https://forum.mediathekview.de



Nützliche RegEx-Beispiele und Fragen zu RegEx

Moderator: styrol

Nützliche RegEx-Beispiele und Fragen zu RegEx

Beitragvon data191088 » 10 Jun 2014, 15:24

Hi
Ich habe versucht mir ein Abo zu programmieren, scheitere aber daran, dass anscheinend die "Aber nicht"
Code: Alles auswählen
#:(?!.*(.....))
Variable übergangen, oder nur teilweise akzeptiert wird.

Aufgabe:
Suche "Planet" und "Sonne", ohne "Sonnenschein" oder "planet erde" oder "Planet Wissen"
Code: Alles auswählen
#:.*(planet|sonne).*(?!.*(sonnenschein|planet [ew])).*

Dies habe ich bei Thema oder Titel eingetragen. Dennoch erschein "Planet Erde" und "Planet Wissen" .... und ich weis nicht weiter. Habe ich die 2 Syntaxe falsche getrennt?
#:.*(planet|sonne).*(?!.*(sonnenschein|planet [ew])).*
Ich bedanke mich schonmal für eure Hilfe.
data191088
 
Beiträge: 3
Registriert: 10 Jun 2014, 15:08

Re: Hilfe beim "aber nicht"-Ausschluss mit RegEx

Beitragvon xaver_w » 10 Jun 2014, 18:44

vielleicht:

Code: Alles auswählen
#:.*(planet|sonne)(?!.*(?:schein|wissen|erde)).*

Und: zwischen Groß- und Kleinschreibung wird nicht unterschieden, wenn du das willst, musst du es explizit wieder einschalten
xaver_w
Site Admin
 
Beiträge: 2498
Registriert: 06 Nov 2010, 15:04

Re: Hilfe beim "aber nicht"-Ausschluss mit RegEx

Beitragvon data191088 » 11 Jun 2014, 08:55

Danke für die Antwort. Die GROß und kleinschreibung habe ich mit Absicht ausgeschalten gelassen.
Dein tipp hat leider auch nicht funktioniert. Ich habe auch beide Teile in getrennte Felder geschrieben ("Thema oder Titel" und "Irgendwo"), um Verbindungsfehler der 2 Bedingungen zu vermeiden .... brachte aber genausoviel.
Ich vermute bald ein Umsetzungsfehler des REGEX im Programm, kann aber nicht recht daran glauben ??
Vielleicht muss ich die NICHT-Variablen gleich hinter die ODER variablen schreiben ? ... weiss aber nicht wie ich dass dann verbinden soll ?

Hilfeübersicht:
Kombiniertes Regex für Titel "#:Sendung mit der Maus vom (?!.*\(mit).*" habe ich mal bei einer anderen suche umgesetzt.
Code: Alles auswählen
#:Tiere (?!.*(waisenhaus|zuhause|dach)).*

Alle Filme, die "Tiere" enthalten, ohne "Tiere suchen ein Zuhause", "Tiere bis unters Dach", "ein Waisenhaus für Tiere". ... dass nun noch mit der ODER Verknüpfung in Verbindung bringen, dann müsste's klappen ... wird aber ein langer Code ...
data191088
 
Beiträge: 3
Registriert: 10 Jun 2014, 15:08

Re: Hilfe beim "aber nicht"-Ausschluss mit RegEx

Beitragvon xaver_w » 11 Jun 2014, 17:59

Hi,

die Regexec werden von Java selbst ausgewertet, mach ich nicht im Programm selbst.

Code: Alles auswählen
    private static boolean pruefen(String[] aboFilter, String im) {
        // wenn einer passt, dann ists gut
        if (aboFilter.length == 1) {
            Pattern p = makePattern(aboFilter[0]);
            if (p != null) {
                return (p.matcher(im).matches());
            }
        }
        for (String s : aboFilter) {
            if (im.toLowerCase().contains(s)) {
                return true;
            }
        }
        return false;
    }

    public static boolean isPattern(String textSuchen) {
        return textSuchen.startsWith("#:");
    }

    public static Pattern makePattern(String textSuchen) {
        Pattern p = null;
        try {
            if (isPattern(textSuchen)) {
                p = Pattern.compile(textSuchen.substring(2), Pattern.CASE_INSENSITIVE);
            }
        } catch (Exception ex) {
            p = null;
        }
        return p;
    }


Aber die Regex unterscheiden sich etwas zwischen verschiedenen Programmen: Perl, Java, ...
xaver_w
Site Admin
 
Beiträge: 2498
Registriert: 06 Nov 2010, 15:04

Re: Hilfe beim "aber nicht"-Ausschluss mit RegEx

Beitragvon data191088 » 12 Jun 2014, 21:29

Ich belese mich jetzt in "regex unter Java" :geek: ... ist anscheint doch noch n bisschen als die Wikipedia Zusammenfassung, oder ich verstehe diese einfach zu wenig. ....
Programmieren kann ich leider nicht (nur mal begonnen), verstehe den Java-Text nur ansatzweise, aber danke :).
data191088
 
Beiträge: 3
Registriert: 10 Jun 2014, 15:08

Nützliche RegEx-Beispiele (z.B. für Blacklist)

Beitragvon Flexperte » 09 Feb 2016, 00:13

Vielleicht habe ich nicht weit genug in die Vergangenheit gesucht, aber ich habe kein Topic gefunden, in dem nützliche Blacklists zum Importieren geteilt werden. Also beginne ich hiermit eines.

Blacklist AD-GS.xml
Blacklist für Hörfassungen und Gebärdensprache
(454 Bytes) 110-mal heruntergeladen

Sollte eigentlich für alle Sender funktionieren. Wobei die enthaltenen regex-expressions natürlich auch als Filter dienen können, um gerade solche Fassungen zu suchen.
Hörfassungen:
Code: Alles auswählen
#:(Hörfassung:?|AD \|) .*|.*(mit |\[|\(|- )(AD|Audiodes(k|c)ription|Hörfassung)(\)|\]|\, .*\)| \(Vid.*\)|)

Gebärdensprache:
Code: Alles auswählen
#:.*(mit |in |\(|- )(Gebärdensprache|.GS)\)?|.* Gebärden


Blacklist ORF Wetter.xml
ORF Wetter nach Bundesländern und Wetter-Panorama
(488 Bytes) 99-mal heruntergeladen

Der Witz ist hier, dass man das Bundesland, das einen doch interessiert, aus dem Filter herauslöschen kann.
Code: Alles auswählen
#:Wetter (aus )?(Burgenland|Kärnten|Niederösterreich|Oberösterreich|Salzburg|Steiermark|Tirol|Vorarlberg|Wien|Südtirol)


Blacklist ORF Bundesland heute.xml
ORF Bundesland heute
(338 Bytes) 101-mal heruntergeladen

Hier gilt das gleiche: einfach das oder die Bundesländer löschen, die man sehen will.
Code: Alles auswählen
#:(Burgenland|Kärnten|Niederösterreich|Oberösterreich|Salzburg|Steiermark|Tirol|Vorarlberg|Wien|Südtirol) heute


Wenn es jemand nützlich findet, soll es mich freuen!
Zuletzt geändert von Flexperte am 10 Mär 2016, 13:27, insgesamt 2-mal geändert.
Flexperte
 
Beiträge: 26
Registriert: 14 Dez 2014, 16:24

Re: Nützliche RegEx-Beispiele (z.B. für Blacklist)

Beitragvon zxsd » 09 Feb 2016, 04:02

Flexperte hat geschrieben:Vielleicht habe ich nicht weit genug in die Vergangenheit gesucht, aber ich habe kein Topic gefunden, in dem nützliche Blacklists zum Importieren geteilt werden. Also beginne ich hiermit eines.


"Regulären Ausdrücken (RegEx)" wäre passender Begriff und--besonders für Hilfesuchende--als Titel/Subject. ("Edit" Knopf einfach drücken.)


Die Idee ist gut, Flexperte. Ich würde mich über rege Teilnahme freuen, da viel zu lernen ist!
Trotz mehreren Beschwerden durch Private Nachrichten meinerseits, sind schon wieder ohne Attribuierung einige meinen Wörter (dieses mal in Betreff-Zeilen) vom Moderator editiert worden -- lange bevor derreisende77 Moderator wurde. Servus und Ade.
zxsd
 
Beiträge: 909
Registriert: 04 Jan 2013, 16:27

Re: Nützliche RegEx-Beispiele (z.B. für Blacklist)

Beitragvon brente_de » 02 Jul 2016, 18:27

Die hier gemachten Vorschläge für die Blacklist finde ich zum Teil sehr kompliziert. Ich habe zum Ausschluß bestimmter Sendungen einfach mehrere Filter in die Blacklist eingestellt.
Beispiele für das Feld TITEL:
#:.*Audiokommentar.*
#:.*Hörfassung.*
#:.*Gebärdensprache.*
Das funktioniert wunderbar.

Ich fände einen Eintrag in der Wiki bei "https://sourceforge.net/p/zdfmediathk/wiki/Anleitung/#verwenden-von-regex" sinnvoll, in dem darauf hingewiesen wird, dass die dort genannten Beispiele so nur für die direkte Auswahl in der Filmliste funktionieren, dass mit demselben Ausdruck in der Blacklist aber genau das Gegenteil bewirkt wird.
Beispiel:
#:.*Hörfassung.* SCHLIESST in der Filmliste den Ausdruck "Hörfassung" so EIN, dass dann nur Filme angezeigt werden, die diesen Ausdruck enthalten.
Derselbe Eintrag in der Blacklist, bewirkt jedoch, dass genau der Ausdruck "Hörfassung" aus der Auswahl AUSGESCHLOSSEN wird.
Vice versa: Wer einen ausschließenden Ausdruck in die Blacklist einstellt, bewirkt, dass der Ausdruck in der Auswahl eingeschlossen wird.
Das ist zwar logisch, aber wird leicht vergessen ;)
brente_de
 
Beiträge: 2
Registriert: 08 Okt 2015, 13:49

Suche #:.*Jan Fabel.*

Beitragvon ttl » 24 Dez 2016, 06:00

Hallo,

wenn ich irgendwo nach Jan Fabel suche, dann wird der Film 'Wolfsfährte' (ARD 22.12.16 23:30) gefunden, suche ich nach #:.*Jan Fabel.*, dann wird er nicht gefunden.

Kann das jemand bestätigen und/oder erklären?

Ein frohes Weihnachtsfest
ttl
 
Beiträge: 25
Registriert: 30 Okt 2016, 13:59

Re: Suche #:.*Jan Fabel.*

Beitragvon schnelinger » 25 Dez 2016, 02:55

Aus der Hilfe https://sourceforge.net/p/zdfmediathk/w ... -von-regex
"Verwenden von Regex: In den Suchfeldern "Titel" und "Thema oder Titel" kann auch mit regulären Ausdrücken (Regex) gesucht werden. "

"Jan Fabel" kommt aber nur in der Inhaltsbeschreibung vor.
schnelinger
 
Beiträge: 10
Registriert: 16 Nov 2016, 11:40

Nächste

Zurück zu Help

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast