Reguläre Ausdrücke

Bei Problemen mit der Bedienung von TV-Browser, bitte hier posten.
Antworten
OKr
Full Member
Beiträge: 79
Registriert: 09 Jan 2008, 17:09

Reguläre Ausdrücke

Beitrag von OKr »

Ich hatte mit dem Stichwort "Maya|Mayas" und der Kennzeichnung als Regulärer Ausdruck in allen Feldern nach Sendungen über die Maya-Kultur suchen wollen. Nachdem heute die Sendung in 3sat "Schätze der Welt" um 20.15 dadurch nicht als Lieblingssendung und auch sonst keine Sendung markiert wurde, habe ich mit dem Booleschen Stichwort "Maya OR Mayas" nochmals gesucht und gleich 25 Fundstellen bekommen. Was kann ich bei dem Regulären Ausdruck falsch gemacht haben?
v6ph1
Site Admin
Beiträge: 1276
Registriert: 13 Jan 2008, 05:07
Wohnort: Radebeul

Re: Reguläre Ausdrücke

Beitrag von v6ph1 »

Wie wäre es mit ".*Maya(s?).*" ? (ohne Anführungszeichen)
Sonst kann ich noch folgende Lektüre empfehlen:
http://de.wikipedia.org/wiki/RegExp
Reguläre Ausdrücke


mfg
v6ph1
Bananeweizen
Site Admin
Beiträge: 3353
Registriert: 09 Sep 2006, 22:45

Re: Reguläre Ausdrücke

Beitrag von Bananeweizen »

Ja, den Fehler, keine Platzhalter am Anfang oder Ende einzufügen, wenn der Ausdruck nicht den gesamten String matchen soll, den mache ich beim Programmieren auch immer wieder...
OKr
Full Member
Beiträge: 79
Registriert: 09 Jan 2008, 17:09

Re: Reguläre Ausdrücke

Beitrag von OKr »

Danke schön. Jetzt liefern die beiden Möglichkeiten .*Maya(s?) .* und .*Maya .*|.*Mayas .* auch alle Fundstellen wie die Boolesche Suche, wobei natürlich die erste von beiden die elegantere ist. Es ist schön, immer noch sogar ganz Neues dazulernen zu können.
Benutzeravatar
Don Bartolo
Senior Member
Beiträge: 187
Registriert: 01 Nov 2008, 18:56
Wohnort: Berlin

Re: Reguläre Ausdrücke

Beitrag von Don Bartolo »

Ich habe mal eine Frage zu den Regulären Ausdrücken, mit denen ich mich nicht sonderlich auskenne:

Ich möchte mir eine Lieblingssendung basteln, die mir nur die "Terra X"-Folgen aus den 80ern und 90ern anzeigen soll.
Ist das so richtig?:

Code: Alles auswählen

Terra *X.* (198.?|199.?)
Mir wird nichts angezeigt, das könnte aber auch daran liegen, dass derzeit keine Sendungen diese Kriterien erfüllen. Oder ist da ein Fehler im String von mir?
TV-Browser 4.2.2.96 RC1 - Java 11.0.10 OpenJDK 64-Bit - Windows 10 10.0 amd64
_
"Versuche nicht, ein großer Mann zu sein, sei einfach ein Mann!" (Zefram Cochrane)
v6ph1
Site Admin
Beiträge: 1276
Registriert: 13 Jan 2008, 05:07
Wohnort: Radebeul

Re: Reguläre Ausdrücke

Beitrag von v6ph1 »

Die RegExp sucht nur immer nur in einer Teilkomponente, nicht in der Kombination aller Sendungsinformationen.

Die Lösung für dein Problem sollte die Suche nach Terra X in Kombination mit einem Filter für das Erscheinungsjahr sein.
Anregungen dazu findest du im Wiki: Filterregel für Spielfilme

-- v6ph1

PS: Aktuell finden sich keine Terra X-Sendungen, bei denen das Erscheinungsjahr im Titel steht.
ds10
Site Admin
Beiträge: 19126
Registriert: 23 Jun 2005, 12:36
Kontaktdaten:

Re: Reguläre Ausdrücke

Beitrag von ds10 »

Das stimmt nicht, alle ausgewählten Felder werden zu einem Suchstring zusammengefügt und dann darüber die Suche mit Regulärem Ausdruck ausgeführt. Problem dabei ist, nach Informationen die gar nicht vorhanden sind, kann man auch nicht suchen außerdem muss man die Reihenfolge der Felder beachten.

Wäre die Information vorhanden würde der angegebene Ausdruck aber nur dann etwas finden, wenn Terra X ganz am Anfang des zusammengefügten Suchstrings stünde und 198? oder 199? ganz am Ende. Das dürfte praktisch niemals der Fall sein, daher muss man in solchen Fällen angeben, dass das auch in der Mitte stehen kann. Außerdem darf kein Leerzeichen zwischen .* und ( stehen, sonst müsste das auch tatsächlich vor 198? in den Daten stehen. Für die Jahreszahl sollte man dann noch festlegen, dass nach 198 oder 199 nur genau eine Zahl stehen darf:

Code: Alles auswählen

.*Terra *X.*(198[0-9]{1}|199[0-9]{1}).*
Das ließe sich dann verkürzen zu:

Code: Alles auswählen

.*Terra *X.*(19[8-9]{1}[0-9]{1}).*
"First they ignore you, then they ridicule you, then they fight you, then you win." - Mahatma Gandhi
Unterstütze die Weiterentwicklung von TV-Browser
Antworten