Seite 1 von 3
Kummerkasten für RegExe
Verfasst: Sa 12. Apr 2008, 11:56
von iTiNa-Support
Willkommen im Thread für sture und unwillige RegExe. Mach' dir keine Sorgen, Reguläre Ausdrücke sind immer stur, das liegt ihnen im Blut.
Falls du soeben das erste mal den Begriff "Reguläre Ausdrücke" gehört hast, bist du in diesem Thread falsch. Hier ist nicht der Einsteigerkurs, hier geht es ans Eingemachte.
Einsteiger sollten sich zunächst mit einigen Grundlagen beschäftigen um zu verstehen, worum es geht. Dazu empfehlen wir natürlich das RegExe-Handbuch von iTiNa (kommt in ein paar Tagen).
Weitere gute Quellen zu dem Thema sind:
Aber bitte immer daran denken das iTiNa ein paar Besonderheiten hat die es sonst nicht bei regulären Ausdrücken gibt!
Wir werden in diesem Thread keinen Service für User bieten die keine Lust haben sich wenigstens mit den Grundlagen vorher zu beschäftigen. Fragen nach dem Motto "Ich will nach Sendungen mit
XYZ suchen lassen, wie muss der RegExe dafür aussehen?" sind hier definitiv falsch.
Wenn du aber einen RegExe geschrieben hast, z.B.
"Die (vier|\D) Elemente", der zwar die Sendung
"Die vier Elemente" findet, aber einfach nicht
"Die 4 Elemente", bekommst du jede Hilfe die wir bieten können. In dem Beispiel muss übrigens nur
"\d" anstelle von
"\D" geschrieben werden, denn das beschreibt genau das Gegenteil.
Denk bei deiner Beschreibung aber daran: Wenn schon dein RegExe nicht verstanden hat was er suchen soll, können wir das schon gar nicht wissen.
Versuch also möglichst genau zu beschreiben was er suchen soll, was er nicht finden sollte und was er tatsächlich gemacht hat. Deinen Suchbegriff mit den RegExe solltest du natürlich auch schreiben.
Wenn du die Funktionsweise eines regulären Ausdrucks nicht verstanden hast, sind solche Fragen hier natürlich auch erwünscht. Aber bitte erst ins Handbuch schauen, Danke!
Viel Spaß...
AW: Kummerkasten für RegExe
Verfasst: So 13. Apr 2008, 09:18
von iTiNa-Support
In der aktuellen Version von iTiNa (0.99) funktionieren die RegEx-Elemente \:, \b und \B leider nicht (Wortgrenzenerkennung). Fehler ist erkannt, Fix kommt in der nächsten Version!
AW: Kummerkasten für RegExe
Verfasst: Mo 14. Apr 2008, 11:38
von Woodman
Zum Thema "Regular Expressions" (Regulären Ausdrücke) kann ich noch
diese Seite empfehlen und
hier gibt es "RegEx-Evaluator" als Freeware. Zum Üben ein wirklich tolles Tool.
AW: Kummerkasten für RegExe
Verfasst: Mo 14. Apr 2008, 12:27
von Grubix
Vielen Dank Horst. Ich werde deine beiden Links im ersten Beitrag ergänzen, dann werden sie schneller gefunden.
Weiterhin wird es in einigen Tagen eine kleine Anleitung von uns geben. Denn es gibt bei iTiNa ein paar Sonderfunktionnen und ein etwas anderes Verhalten der Reichweite von Quantifizierern (Wiederholungen).
Bis denn dann, Grubix.
AW: Kummerkasten für RegExe
Verfasst: So 20. Apr 2008, 19:19
von asrael
Hallo zusammen,
dass iTiNa reguläre Ausdrücke kann, ist sicherlich ein sehr komfortables Feature. Als alter grep-/awk-/sed-/emacs-Fan sind mir reguläre Ausdrücke auch gut vertraut, also geht es mir bei meiner folgenden Frage nicht darum, was man mit regulären Ausdrücken prinzipiell machen kann.
Interessieren würde mich aber mal, ob einer von Euch Beta-Testern wirklich einmal für das Suchen einer Sendung einen regulären Ausdrücke zwingend gebraucht hat, also die einfache Art mit (ggf. negativen) Bewertungszahlen a la SmartEPG/3PG für Euren Suchauftrag nicht ausreichend war?
EDIT: Habe gerade noch einmal die Erfahrungsberichte gelesen und dabei das Beispiel des nordischen Freibeuters (wie auch immer der geschrieben wird ;-) gelesen. Frage ist damit eigentlich beantwortet.
Mit freundlichen Grüßen
asrael
AW: Kummerkasten für RegExe
Verfasst: Mo 21. Apr 2008, 11:23
von Grubix
Hallo asrael,
so wirklich
zwingend glaube ich, hatte ich noch keinen Fall. Auch den Freibeuter
könnte man mit 4-5 einzelnen Suchbegriffen bei gleicher Gewichtung finden. Oder wenn ein Suchbegriff zu viele falsche Treffer hat kann man diese im Tina ausschließen.
Ich finde es aber eleganter unter Zuhilfenahme von regulären Ausdrücken das Problem zu lösen. Wenn ich nach "Lesch" suche und zig Treffer mit "Salesch" habe, füge ich doch lieber ein "\bLesch" ein, anstatt "Salesch" als weitern Begriff auszuschließen.
Aber das ist Geschmackssache, Grubix.
AW: Kummerkasten für RegExe
Verfasst: Mo 21. Apr 2008, 12:44
von Ecky
Du könntest ja auch nach "Harald Lesch" suchen
AW: Kummerkasten für RegExe
Verfasst: Mo 21. Apr 2008, 13:01
von Grubix
Und wenn im EPG "Prof. Lesch" steht? Ohne "Harald"?
Es führen viele Wege zum Ziel.
AW: Kummerkasten für RegExe
Verfasst: Mo 21. Apr 2008, 17:46
von Klaus
Ich hätte nicht gedacht daß ich dies noch erleben darf: ca. 15 Jahre nach Abschluss meines Studiums als Dipl. Math. habe ich jetzt dank ItiNa & RegExe zum ersten mal eine praktische Anwendung eines Teilgebiets aus meinem Studium
Ich werde diese Woche mal ein bisschen mit RegExe herumspielen - allerdings fällt mir irgendwie kein sinnvolles Beispiel ein
Die handvoll Tinas die ich bisher angelegt habe liessen sich eigentlich alle sehr schön über Gewichtung definieren. Also werde ich aus Testzwecke wohl einfach mal so ähnliche Dinge wie beim genannten Beispiel des nordischen Freibeuters machen.
iTiNa-Support hat geschrieben:In der aktuellen Version von iTiNa (0.99) funktionieren die RegEx-Elemente \:, \b und \B leider nicht (Wortgrenzenerkennung). Fehler ist erkannt, Fix kommt in der nächsten Version!
Gibt es irgendwo eine Liste welche Elemente in ITiNa 0.99 implementiert sind?
AW: Kummerkasten für RegExe
Verfasst: Mo 21. Apr 2008, 19:07
von Miq
Klaus hat geschrieben:Ich hätte nicht gedacht daß ich dies noch erleben darf: ca. 15 Jahre nach Abschluss meines Studiums als Dipl. Math. habe ich jetzt dank ItiNa & RegExe zum ersten mal eine praktische Anwendung eines Teilgebiets aus meinem Studium
Gibt es irgendwo eine Liste welche Elemente in ITiNa 0.99 implementiert sind?
Hallo, Kollege!
Im ersten Post der Link in die Wikipedia hilft erstmal, das iTiNa-RegEx-Handbuch ist noch in der Endkontrolle.
AW: Kummerkasten für RegExe
Verfasst: Mo 21. Apr 2008, 20:18
von kg-topf-c
Hallo,
zum Ausprobieren einer Regex eignet sich die Seite unten auch sehr schön, den es wird alles sofort während der Eingabe ausgewertet und angezeigt. Wenn man mit der Maus über die Elemente oder den Regex-String fährt, bekommt man in einem Tooltipp Erklärungen zu den Ausdrücken und Optionen. Gut gemacht (allerdings englisch).
Die Seite:
http://gskinner.com/RegExr/
AW: Kummerkasten für RegExe
Verfasst: Mo 21. Apr 2008, 21:22
von Klaus
Wollt Ihr damit sagen daß ALLE RegExe Elemente in iTiNa implementiert sind?
Wow, das hätte ich nicht gedacht - ich bin von einer Teilmenge ausgegangen.
Da ist jetzt aber ein dickes
an den Entwickler fällig
AW: Kummerkasten für RegExe
Verfasst: Di 22. Apr 2008, 08:50
von Miq
Klaus hat geschrieben:Wollt Ihr damit sagen daß ALLE RegExe Elemente in iTiNa implementiert sind?
Wow, das hätte ich nicht gedacht - ich bin von einer Teilmenge ausgegangen.
Da ist jetzt aber ein dickes
an den Entwickler fällig
[Klugscheissermodus ON]Ja, natürlich alles, und noch etwas zusätzlich![Klugscheissermodus OFF]
Die wesentlichen Unterschiede sind:
- fortlaufende Zeichenketten (ohne Zeichenklassen etc. darin) werden als Einheit betrachtet. Bei Standard-RegEx gibt es keine Zeichenketten, nur Einzelzeichen
- Backtracking in Klammerausdrücke geht nicht. Wenn ein Klammerausdruck einmal gematcht hat, wird der Match nicht mehr angefasst
- \:, \=, \b und \B gibt es so sonst nicht
- \w, \W, \s, \S, \d und \D sind von Perl entlehnt, gibt es im Standard-RegEx auch nicht
- Ich bin nicht sicher, ob ich alle POSIX-Zeichenklassen erwischt habe
AW: Kummerkasten für RegExe
Verfasst: Di 22. Apr 2008, 19:34
von harbad
angeber
AW: Kummerkasten für RegExe
Verfasst: Di 22. Apr 2008, 19:36
von Miq
harbad hat geschrieben:angeber
Ja.
AW: Kummerkasten für RegExe
Verfasst: Do 24. Apr 2008, 01:27
von mvordeme
Miq hat geschrieben:- \:, \=, \b und \B gibt es so sonst nicht
- \w, \W, \s, \S, \d und \D sind von Perl entlehnt, gibt es im Standard-RegEx auch nicht
\: und \= kenne ich auch nicht, aber den Rest gibt es beispielsweise auch in
Java. Was ist bei RegEx denn schon Standard? Das ist doch in wirklich jeder Anwendung wieder anders implementiert. Gerade * oder .* muss man immer erst ausprobieren.
Grüße,
-- mvordeme
AW: Kummerkasten für RegExe
Verfasst: Do 24. Apr 2008, 11:48
von Grubix
[quote="mvordeme"]\: und \= kenne ich auch nicht[/quote]
"\:" ist das gleiche wie "\b", damit kann man eine Wortgrenze festlegen.
"\=" ist ein doppeltes Zeichen, also "\d\=" könnte "11", "22", "33", usw. sein.
Bis denn dann, Grubix.
AW: Kummerkasten für RegExe
Verfasst: Di 24. Jun 2008, 22:54
von soundsmith
Hallo,
ich bin absoluter Neuling mit regulären Audrücken. Ich habe mich zwar in ganz fundamentale Dinge schon einlesen können, aber für mein konkretes Problem noch keine Lösung. Könnt Ihr helfen?
Ich möchte eine Suche nach Filmen erstellen, die innerhalb einer gewissen Zeitspanne produziert wurden, und zwar anhand von z.B.
Spielfilm Großbritannien 1954
oder
Spielfilm Österreich 1962
Mir kommt es eigentlich nur auf die Jahreszahl an, für die ich die Zeitspanne vorgeben möchte, und zwar interessiere ich mich konkret für alle Filme vor 1970. Wenn das zu kompliziert wäre, ginge z.B. 1930-1970.
Ich schaffe es beim besten Willen mit eigenen Mitteln nicht, einen entsprechenden regulären Ausdruck zu erstellen.
Vielen Dank!
soundsmith
AW: Kummerkasten für RegExe
Verfasst: Di 24. Jun 2008, 23:08
von asrael
soundsmith hat geschrieben:Hallo,
ich bin absoluter Neuling mit regulären Audrücken. Ich habe mich zwar in ganz fundamentale Dinge schon einlesen können, aber für mein konkretes Problem noch keine Lösung. Könnt Ihr helfen?
Ich möchte eine Suche nach Filmen erstellen, die innerhalb einer gewissen Zeitspanne produziert wurden, und zwar anhand von z.B.
Spielfilm Großbritannien 1954
oder
Spielfilm Österreich 1962
Mir kommt es eigentlich nur auf die Jahreszahl an, für die ich die Zeitspanne vorgeben möchte, und zwar interessiere ich mich konkret für alle Filme vor 1970. Wenn das zu kompliziert wäre, ginge z.B. 1930-1970.
Ich schaffe es beim besten Willen mit eigenen Mitteln nicht, einen entsprechenden regulären Ausdruck zu erstellen.
Vielen Dank!
soundsmith
Ich habe mir die RA von iTiNa zwar nicht so sehr angeschaut, aber das müsste über
character classes gehen. Also etwa
19[0-6][0-9]. Das erwischt dann die bis 1969, aber die vor 1900 nicht (da gibt es auch nicht so viele
.
Problem dürfte aber sein, dass nicht bei allen Filmen die Jahreszahl mit in den EPG-Infos erscheint.
Mit freundlichen Grüßen
asrael
BTW: Auch vor 1970 wurde Mist produziert und es gibt auch neuere Filme, die gut sind.
AW: Kummerkasten für RegExe
Verfasst: Mi 25. Jun 2008, 00:32
von Grubix
Was asrael geschrieben hat ist alles so richtig.
Ich hoffe ich werde nicht verhauen
, hier ist eine Vorabversion vom Handbuch.
Bitte auch das Kapitel über die erweiterte Eingabe im großen Handbuch lesen.
Bis denn dann, Grubix.