Yo24hua
727 Posts
wrote on 19.08.13 at 16:36 last edited by Yo24hua on 19.08.13 at 16:37
Link to this post

Hallo Alex,

Ich habe in der vergangenheit sehr viele verschiedene Online-Tester für Reguläre Ausdrücke durchprobiert darunter sind mitlerweile auch "NAMED GROUPS" fähige Tester dabei.
Es fallen mir immer wieder differenzen zwischen den OT's und streamWriter auf.

Wenn ein Stream zum Beispiel seine Titelinformationen wechselhaft Sendet wie im folgendem Beispiel:

ARTIST - TITLE *[Requested by XXXXX]*
oder (Die Station sendet im Wechsel nur):
ARTIST - TITLE

würde der Reguläre ausdruck wie folgt lauten:

"(?P<a>.*) - (?P<t>.*) \*\[(.*)\]\*"
(ohne Anführungszeichen)

Die "RegEx"-Engine in streamWriter arbeitet anders als die Online-Tester.
Sie wandelt wie im Beispiel Fall bei wechselhaften "Titel im Stream" das Ergebniss immer scheinbar korrekt!
Während dessen die Online Tester damit ein Problem haben wenn man denn Ausdruck dort so setzt und das zweite Titelformat anwendet so schlägt dieses fehl!


Nun zum Eigendlichen Problem:
Die Korrektur-Engine auf deinem Server wie du sie auch in den nachfolgenden Links beschrieben hast verwirft viele "RegEx" Einträge die via "Daten setzen…" gemacht wurden trotz Funktion in SW (3 bis Mehr Tägige Wartezeit bis zum Auffrischen der Browser liste) und lässt annehmen das diese so ähnlich wie bei den Online-Testern Reagiert. Das gilt allerdings auch für viele andere Regulären Ausdrücke und nicht nur wie in dem Beispiel.

Links:
Entwicklungsstand / Neueste Builds (26.05.13 um 05:36 Uhr)
Entwicklungsstand / Neueste Builds (27.05.13 um 03:44 Uhr)
Bevorzugter NAMED-GROUPS Fähiger Online Tester


Ich vermute das auf dem Server eine andere RegEx-Engine (ähnlich der OT's) als die in streamWriter verwendete zur geltung kommt.
Wie gesagt es bestehen zwischen OT's und der in SW verwendeten RegEx auf jeden fall eindeutig differenzen.
Ich habe auch schon langwierig versucht die unterschiede der verwndeten RegEx-Funktionen (TperlRegEx) zu ermitteln komme dabei aber nicht auf den grünen zweig.

Eine vermutung wie du das in SW umgestzt hast, ist die wenn "Format 1" fehlschlägt so wird automatisch die Standart RegEx angewandt ?!

Oder hatt dieser Fehler etwas mit den gelegendlich noch auftretenden Serverabstürzen (verbindung zum Server abgebrochen) zu tun? Gehen möglicherweise Dateneinträge dabei verloren?
Diese verbindungs abrüche Kommen allerdings immer wieder wenn ich grössere Mengen "Daten setzen…" mache.

Ich hoffe das wir den Problemen irgenntwie auf die Pelle rücken können:-o

Legalität, Radio Verzeichnisse, Diskographie Verzeichnisse, Reguläre Ausdrücke, Videos...:
Yo24hua's streamWriter Special: > > > https://sites.google.com/site/yo24hua < < <

Alles mit Ruhe & Muse, denn Unmöglich sind nur die Dinge, die man nicht tut!
Befreie dich, Befreie dich, Befreie dich und du wirst deinen Weg finden!
··· ¥oæhua ···
 
alex
2538 Posts
wrote on 23.08.13 at 00:09
Link to this post
Hi!

Ich schätze, dass du hier recht hast - die Engines arbeiten nicht gleich. Mein Script, was die RegEx auf dem Server prüft meldet zu manchen RegEx, dass sie ungültig sind. Wenn man in sW ein RegEx setzt, wird dieser vorher auf dem Client geprüft. Das heißt also, dass der sW-Client das Muster verarbeiten kann, der Server allerdings nicht.

Ich vermute das auf dem Server eine andere RegEx-Engine (ähnlich der OT's) als die in streamWriter verwendete zur geltung kommt.
Wie gesagt es bestehen zwischen OT's und der in SW verwendeten RegEx auf jeden fall eindeutig differenzen.
Ich habe auch schon langwierig versucht die unterschiede der verwndeten RegEx-Funktionen (TperlRegEx) zu ermitteln komme dabei aber nicht auf den grünen zweig.

Scheinbar ist das leider so. Ich benutze auf dem Server die Engine, die mit JavaScript (Google's V8) bei Node.js verfügbar ist. Im Client wäre es, wie du schon geschrieben hast, TPerlRegEx. Das bedarf einiger Forschungsarbeit. Ich werde mich darum kümmern, aber ich kann nicht versprechen, wann ich da zu einem Ergebnis komme. Mit etwas Glück reicht es, der JS-Engine ein paar Optionen mitzugeben…

Eine vermutung wie du das in SW umgestzt hast, ist die wenn "Format 1" fehlschlägt so wird automatisch die Standart RegEx angewandt ?!

Jawoll, das ist so. Allerdings geht kein Eintrag, der von dir gemacht wurde, verloren. Wenn der Fehler behoben ist und ich das Check-Script neu laufen lasse, würde auch der von dir gesetzte RegEx genommen werden. Deine Arbeit ist also nicht verloren oder so!

Oder hatt dieser Fehler etwas mit den gelegendlich noch auftretenden Serverabstürzen (verbindung zum Server abgebrochen) zu tun? Gehen möglicherweise Dateneinträge dabei verloren?
Diese verbindungs abrüche Kommen allerdings immer wieder wenn ich grössere Mengen "Daten setzen…" mache.

Verloren geht nichts. Die Verbindungsabbrüche sind noch ein anderes Thema…

Also, ich kümmere mich darum und werde mich dann wieder melden. Mehr kann ich zur Zeit leider nicht sagen…
LG/Best regards, Alex

"Journalism is printing what someone else does not want printed. Everything else is public relations."
- George Orwell

D1734FA178BF7D5AE50CB1AD54442494
 
alex
2538 Posts
wrote on 25.08.13 at 23:08
Link to this post
Zum ursprünglichen Problem: Der RegEx, den du als Beispiel genannt hast, ist mit "ARTIST - TITLE" auch nicht gültig, das wäre mir auch aufgefallen, wenn ich etwas länger drüber nachgedacht hätte6-)… Die Sache ist einfach, dass streamWriter, wenn er keinen Künstler/Titel findet (was in der Situation der Fall ist) immer als Fallback den Standard-RegEx "(?P<a>.*) - (?P<t>.*)" benutzt. Und das funktioniert dann eben.
Die Lösung zum Problem wäre, mehrere RegEx pro Stream zu ermöglichen…
LG/Best regards, Alex

"Journalism is printing what someone else does not want printed. Everything else is public relations."
- George Orwell

D1734FA178BF7D5AE50CB1AD54442494
 
Yo24hua
727 Posts
wrote on 26.08.13 at 01:53 last edited by Yo24hua on 27.08.13 at 02:04
Link to this post

Hab mich noch einmal halb tot gequält um solcherlei Probleme zu Lösen. Ich bekomm das irgennt wie nich hin so etwas doch mit einem einzigen Match zu realisieren.


Auf regexplanet.com Kann man seine Tests mit dem "Machen sie Aktien-Code" (schlechte übersetzung dieser Webseite) Button seine Tests Längerfristig, wie auch immer das möglich ist, dort speichern und mit einem Link wie dem folgendem wieder Abrufen (Habs mit Browser-Cache Löschen ausprobiert).

http://fiddle.re/v0eua (Hier mit Assertion getestet)

Nach aufruf des Links auf dem "XRegExp" Button Klicken.


Hab mich schon des öfteren damit herumgeplagt und muss eingestehen kein Meister über diese RegEx zu sein oder es geht tatsächlich nicht mit einem Match.

Komisch finde ich nur das folgendes Beispiel Geht:

http://fiddle.re/n9kua

Also das mit dem "(xxxx)?(?P<a>.*) - (?P<t>.*)" wenn der zu eliminierende Teil vorne an steht geht bei wechselhaften Titelformat.

Und das mit "(?P<a>.*) - (?P<t>.*)(xxxx)?" wenn der zu eliminierende Teil hinten an steht geht nicht bei wechselhaften Titelformat.


Vieleicht bring ich mich selbst mit meinem geschreibsel in diesem Post auf dem Lösungsweg!
Ich check das vieleicht doch mal bei stackoverflow.com (bin durch dein "streams.png" Bild daran errinert worden) ab!
Das Thema macht mich ganz wusselig - Ick will es aber wissen - Ungebremste Neugier!
"Geht nicht gibt es nicht" heist mein Motto ja eigendlich!

Sorry! Wenn ich Nerve:-[

P.S.:
Der Lösungsweg mit Multiblen-RegEx auf dem Server bzw. auch im Client zu realiesieren wäre wahrscheinlich der Leichtere Weg! Naja schauen wir mal - Irgennt wie findet sich dafür ein Weg!

Legalität, Radio Verzeichnisse, Diskographie Verzeichnisse, Reguläre Ausdrücke, Videos...:
Yo24hua's streamWriter Special: > > > https://sites.google.com/site/yo24hua < < <

Alles mit Ruhe & Muse, denn Unmöglich sind nur die Dinge, die man nicht tut!
Befreie dich, Befreie dich, Befreie dich und du wirst deinen Weg finden!
··· ¥oæhua ···
 
alex
2538 Posts
wrote on 06.09.13 at 00:31
Link to this post
Ich helfe dir direkt, wenn die Zeit reif ist - das heißt, wenn der neue "Mechanismus" zum RegEx-Setzen funktioniert. Dazu gibt es gleich einen Post im Entwicklungsstand-Thread:-)
LG/Best regards, Alex

"Journalism is printing what someone else does not want printed. Everything else is public relations."
- George Orwell

D1734FA178BF7D5AE50CB1AD54442494
 
Yo24hua
727 Posts
wrote on 06.09.13 at 01:31 last edited by Yo24hua on 06.09.13 at 01:33
Link to this post

Hallo Alex,

Las dir dabei ruhig genüge Ruhe & Muse.

Ich versuche das nach wie vor auch selbst zu erforschen und bin dabei Frage Texte für Spezielle RegEx-Foren zusammen zu stellen.

Ich bleib dabei meinem Motto zu folgen und meine Forschungen nur in Absoluter "Ruhe & Muse" zu bewältigen und genau deshalb muss man bei mir ebend halt "Geduld & viel Zeit" mit bringen!

Legalität, Radio Verzeichnisse, Diskographie Verzeichnisse, Reguläre Ausdrücke, Videos...:
Yo24hua's streamWriter Special: > > > https://sites.google.com/site/yo24hua < < <

Alles mit Ruhe & Muse, denn Unmöglich sind nur die Dinge, die man nicht tut!
Befreie dich, Befreie dich, Befreie dich und du wirst deinen Weg finden!
··· ¥oæhua ···
 
Yo24hua
727 Posts
wrote on 22.09.13 at 20:28 last edited by Yo24hua on 22.09.13 at 20:31
Link to this post

Hallo Alex,

Ich komme da trotz verstärkter Forschung leider nicht weiter:-[
Meine Englisch schreib versuche in diversen RegEx-Spezialisierten Foren kommen dort anscheinend nicht so gut an (Mein Englisch ist nicht so gut - Lesen und verstehen kann ich die meist eher Englischen Seiten zu solchen Themen durch aus aber schreiben nicht so - Googles Translator taugt dazu ja bekanntlicherweise auch nicht immer).

Zitat:
Ich helfe dir direkt, wenn die Zeit reif ist…

Auf dieses Angebot würde ich ganz gerne zurück greifen!

Ich habe zwar was das Thema betrifft etwas dazu gelernt und glaube so halbwegs verstanden zu haben weshalb das auch nicht gehen kann wie ich das bisher gemacht habe dem noch ist mir das noch ein Rätsel ob man dies nicht doch irgenntwie in einer RegEx lösen kann.


Zu guter letzt die "Fallback" methode wie du sie auf deiner Streameinstellungen Webseite und im Client eingebaut hast ist auf jeden fall eine gute Lösung für solcherlei Probleme.


Liebe Grüsse & vielen Dank im voraus!
Yo24hua

Legalität, Radio Verzeichnisse, Diskographie Verzeichnisse, Reguläre Ausdrücke, Videos...:
Yo24hua's streamWriter Special: > > > https://sites.google.com/site/yo24hua < < <

Alles mit Ruhe & Muse, denn Unmöglich sind nur die Dinge, die man nicht tut!
Befreie dich, Befreie dich, Befreie dich und du wirst deinen Weg finden!
··· ¥oæhua ···
 
alex
2538 Posts
wrote on 26.09.13 at 22:33
Link to this post
Moin!

Sag mir einfach, zu welchen Sendern/Titeln du Hilfe brauchst und dann schaue ich mir das am Wochenende mal an:-).
LG/Best regards, Alex

"Journalism is printing what someone else does not want printed. Everything else is public relations."
- George Orwell

D1734FA178BF7D5AE50CB1AD54442494
 
Yo24hua
727 Posts
wrote on 29.09.13 at 21:51 last edited by Yo24hua on 29.09.13 at 21:53
Link to this post

Nabend Alex,

Es geht nach wie vor um die frage ob man nachfolgendes nicht doch in einer einzigen RegEx lösen kann statt auf den Fallback-Mechanismus zurückgreifen zu müssen.

ARTIST - TITLE *[Requested by XXXXX]*
oder (Die Station sendet im Wechsel nur):
ARTIST - TITLE

Reguläre Ausdrücke mit Fallbacktechnik:
1.: "(?P<a>.*) - (?P<t>.*) \*\[(.*)\]\*"
2.: "(?P<a>.*) - (?P<t>.*)"
(ohne Anführungszeichen)

Wie gesagt wenn am Zeilenanfang diverse infos zu entfernen sind kann man das ja mit einem Quantifizierer "?" wie schon im ersten Post aufgeführt in einer RegEx lösen nur am Ende eines Textstring geht das nicht. Andere Lösungswege habe ich wie besagt erforscht finde aber keine lösung dies in einer einzigen RegEx zu machen.
Nun meine hoffnung das du einen Tipp hast wie das gelöst werden kann ausser der Fallbackmethode in eine zweite RegEx.

Es handelt sich bei der Frage lediglich um Ehrgeiz dieses lösen zu wollen (auch mit dem Hintergedanken deinen Server etwas wenn auch nur wenig zu entlasten). Natürlich kann man das auch bei der Fallbackmethode belassen!

Danke im voraus auch wenn de kene lösung hast!
Yo24hua

Spruch: "Wissen ist Macht - Nix Wisssen macht auch Nix" Das so zur Aufheiterung!:-D
Legalität, Radio Verzeichnisse, Diskographie Verzeichnisse, Reguläre Ausdrücke, Videos...:
Yo24hua's streamWriter Special: > > > https://sites.google.com/site/yo24hua < < <

Alles mit Ruhe & Muse, denn Unmöglich sind nur die Dinge, die man nicht tut!
Befreie dich, Befreie dich, Befreie dich und du wirst deinen Weg finden!
··· ¥oæhua ···
 
alex
2538 Posts
wrote on 06.10.13 at 05:48
Link to this post
Mahlzeit!

Ich habe mich mit dem Problem beschäftigt aber habe es auch nicht in einem einzigen RegEx hinbekommen. Mag sein, dass das möglich ist, aber ich kam erstmal nicht dahinter, und habe das etwas länger ausprobiert… Versuch einfach, das Problem mit 2 RegEx zu lösen. Bei dem ganzen Zeug, was noch auf meiner Liste steht, kann ich über das "Ehrgeiz"-Thema problemlos hinwegschauen, auch, wenn es mir oft so geht wie dir hier:-P.
LG/Best regards, Alex

"Journalism is printing what someone else does not want printed. Everything else is public relations."
- George Orwell

D1734FA178BF7D5AE50CB1AD54442494
 
Yo24hua
727 Posts
wrote on 08.10.13 at 20:39
Link to this post

Hallo Alex,

Ich hoffe du hast dich nicht meinetwegen unötig damit abgequält! Das war jedenfalls nicht gewolt und du hast ja genug anderes um stremWriter zu tun!
Wir sind ebendhalt beide keine Meister der Regulären Exen was auch nicht weiter schlimm ist.

Ich/Wir verbleibe/n dann bei der "Fallbackmethode" solcherlei Probleme in 2 (oder mehr) RegEx zu lösen.

Trotzdem vielen Dank!8-)

ENDE DES THEMAS
Legalität, Radio Verzeichnisse, Diskographie Verzeichnisse, Reguläre Ausdrücke, Videos...:
Yo24hua's streamWriter Special: > > > https://sites.google.com/site/yo24hua < < <

Alles mit Ruhe & Muse, denn Unmöglich sind nur die Dinge, die man nicht tut!
Befreie dich, Befreie dich, Befreie dich und du wirst deinen Weg finden!
··· ¥oæhua ···
 
alex
2538 Posts
wrote on 08.10.13 at 21:34
Link to this post
Kein Problem, mir macht das Tüfteln ja auch Spass! Es sollte ja, wie gesagt, kein Problem sein, dort mit zwei RegEx zu arbeiten. An der automatischen Erkennung für den besten RegEx habe ich letztes Wochenende viel Arbeit reingesteckt, etwas mehr kommt noch, bevor ich nichts mehr auf meiner Liste habe. Ein Traum wäre die finale Version 5 zu Weihnachten…:-D
LG/Best regards, Alex

"Journalism is printing what someone else does not want printed. Everything else is public relations."
- George Orwell

D1734FA178BF7D5AE50CB1AD54442494
 
Yo24hua
727 Posts
wrote on 08.10.13 at 23:09
Link to this post

Schön das zu Hören, ähhm… zu lesen8-)

Deine Automatik hat mich letztens noch ein wenig gefoppt. Habe Problemfälle alle in meiner Datenbank verankert Ich check das aktuell nocheinmal ab!
Legalität, Radio Verzeichnisse, Diskographie Verzeichnisse, Reguläre Ausdrücke, Videos...:
Yo24hua's streamWriter Special: > > > https://sites.google.com/site/yo24hua < < <

Alles mit Ruhe & Muse, denn Unmöglich sind nur die Dinge, die man nicht tut!
Befreie dich, Befreie dich, Befreie dich und du wirst deinen Weg finden!
··· ¥oæhua ···
 
alex
2538 Posts
wrote on 19.10.13 at 03:57
Link to this post
Falls die Automatik es nicht hinbekommt, sag mir bitte bescheid! Es ist mir nicht ganz unwichtig, dass das alles funktioniert:-)
LG/Best regards, Alex

"Journalism is printing what someone else does not want printed. Everything else is public relations."
- George Orwell

D1734FA178BF7D5AE50CB1AD54442494
 
Yo24hua
727 Posts
wrote on 19.10.13 at 15:12
Link to this post

Wie im anderen Threat geschrieben fehlt mir im moment dazu die Muse.
Ich denke das ich aber noch früh genug dazu komme darauf näher einzugehen!

Im letzter zeit mache ich etwas Pause von den RegenExen und versuche meine Webseite Seriöser hinzubekommen und noch einige andere Dokus bzgl. streamWriter hinzuzufügen.

Bin somit so frei dir zeit für andere Dinge zu lassen8-)
Legalität, Radio Verzeichnisse, Diskographie Verzeichnisse, Reguläre Ausdrücke, Videos...:
Yo24hua's streamWriter Special: > > > https://sites.google.com/site/yo24hua < < <

Alles mit Ruhe & Muse, denn Unmöglich sind nur die Dinge, die man nicht tut!
Befreie dich, Befreie dich, Befreie dich und du wirst deinen Weg finden!
··· ¥oæhua ···