NEWS
[gelöst] Wert von ObjektID parsen (regex)
-
@homoran Wer RegEx kann, der schafft es auch eine eigene Funktion mit Rückgabe in Blockly zu definieren
Zumal der nächste dann wieder alle Treffer als Liste möchte, oder mehrere Treffer in einem String usw.
-
@haus-automatisierung sagte in [gelöst] Wert von ObjektID parsen (regex):
Zumal der nächste dann wieder alle Treffer als Liste möchte, oder mehrere Treffer in einem String usw.
Ja, das kann passieren, da war was bei Wilhelm Busch mit erfülltem Wunsch und Junge kriegen.
Aber leider ist mir JS Syntax immer noch ein Buch mit sieben Siegeln.
-
@homoran sagte: leider ist mir JS Syntax immer noch ein Buch mit sieben Siegeln.
... und mir RegExp (bis auf RegExp für Trigger). Poste mal ein Beispiel mit zu parsendem Text, RegExp in der Stringversion (new RegExp) und dem Ergebnis. Die Version mit Slash lässt sich in Blockly nicht eingeben.
Vielleicht bekommen wir was hin? -
würde da vll auch nochmals eine Frage einwerfen:
habe folgende Zeile im Parser eingegeben:
(?<=<dd class="episode-presenter">)[\s\S]*?(?=<\/)
bekomme als Ergebnis
<a href="https://www.swr3.de/crew/ben-streubel-100.html">Ben Streubel
hätte aber gerne nur den Namen (in dem Fall Ben Streubel)
was muss ich da am Syntax ändern?
-
@djmarc75 bitte den Quelltext
-
@homoran sagte in [gelöst] Wert von ObjektID parsen (regex):
bitte den Quelltext
hat mehr als 10000 Zeichen, aber ich könnte Dir die URL liefern:
https://www.swr3.de/sendungen/index.html?swx_pcDate=2024-05-21
-
@djmarc75 sagte in [gelöst] Wert von ObjektID parsen (regex):
ich könnte Dir die URL liefern:
das nurzt mir nichts
am Tablet komme ich nicht an den Quelltext.Dann mach mal einen größeren Ausschnitt bitte
-
So besser ?
<div class="episode-data"> <h2 class="episode-title"> LUNA </h2> <dl> <dt class="episode-presenter">Moderation</dt> <dd class="episode-presenter"><a href="https://www.swr3.de/crew/ben-streubel-100.html">Ben Streubel</a></dd> </dl> </div> </div> </li> <li class="episodes-list-item episode"> <div class="episode-summary" id="heading-frontmod-programmkalender-swr3-100-1"> <time class="episode-time" datetime="2024-05-21T05:00"> <span class="date">21.5.2024</span> <span class="time">5:00</span> </time> <figure class="episode-cover"> <div class="image"> <img src="https://www.swr.de/administration/design/logos/swr3/1653557592641%2Clogo-232~_v-16x9@2dXL_-77ed5d09bafd4e3cf6a5a0264e5e16ea35f14925.jpg" srcset="https://www.swr.de/administration/design/logos/swr3/1653557592641%2Clogo-232~_v-16x9@2dXS_-b9bac15fe0af001f663131e7814653aed0ad7167.jpg 320w,https://www.swr.de/administration/design/logos/swr3/1653557592641%2Clogo-232~_v-16x9@2dS_-6be50a9c75559ca1aaf1d0b25bae287afdcd877a.jpg 480w,https://www.swr.de/administration/design/logos/swr3/1653557592641%2Clogo-232~_v-16x9@2dM_-ad6791ade5eb8b5c935dd377130b903c4b5781d8.jpg 768w,https://www.swr.de/administration/design/logos/swr3/1653557592641%2Clogo-232~_v-16x9@2dL_-6c42aff4e68b43c7868c3240d3ebfa29867457da.jpg 1440w,https://www.swr.de/administration/design/logos/swr3/1653557592641%2Clogo-232~_v-16x9@2dXL_-77ed5d09bafd4e3cf6a5a0264e5e16ea35f14925.jpg 1920w" sizes="(min-width: 1200px) 950px, (min-width: 992px) 627px, calc(100vw - 32px)" class="" data-copyright="Foto: SWR, SWR" alt="Logo SWR3" title="Logo SWR3" width="320" height="180" decoding="async" loading="lazy"/> </div> </figure> <figure class="episode-presenter-image"> <div class="image"> <img src="/sendungen/1713444026136%2Chost-img-debuhr-zoeller-100~_v-16x9@2dM_-ad6791ade5eb8b5c935dd377130b903c4b5781d8.png" srcset="/sendungen/1713444026136%2Chost-img-debuhr-zoeller-100~_v-16x9@2dXS_-b9bac15fe0af001f663131e7814653aed0ad7167.png 320w,/sendungen/1713444026136%2Chost-img-debuhr-zoeller-100~_v-16x9@2dS_-6be50a9c75559ca1aaf1d0b25bae287afdcd877a.png 480w,/sendungen/1713444026136%2Chost-img-debuhr-zoeller-100~_v-16x9@2dM_-ad6791ade5eb8b5c935dd377130b903c4b5781d8.png 768w" sizes="(min-width: 1200px) 950px, (min-width: 992px) 627px, calc(100vw - 32px)" class="" data-copyright="Foto: SWR3" alt="SWR3 Moderatoren Rebekka de Buhr und Constantin Zöller" title="SWR3 Moderatoren Rebekka de Buhr und Constantin Zöller" width="320" height="180" decoding="async" loading="lazy"/> </div>
-
@djmarc75 danke!
html">([\w\s]+)
müsste klappen, wird aber nicht sein was du willst.
das ist nicht wirklich eindeutig und bei den nächsten sieht es ganz anders aus
Was genau willst du haben?
-
@homoran sagte in [gelöst] Wert von ObjektID parsen (regex):
wird aber nicht sein was du willst
So könnte es gehen aber da machen mir Sonderzeichen wie Ä Ö Ü Probleme.
Wie geschrieben nur den Namen (Wert) vor dem letzten </a> in dieser Syntax.Hier nochmals:
<dd class="episode-presenter"><a href="https://www.swr3.de/crew/constantin-zller-100.html">Constantin Zöller</a></dd> <dd class="episode-presenter"><a href="https://www.swr3.de/crew/rebekka-de-buhr-100.html">Rebekka de Buhr</a></dd>
-
@djmarc75 ist die Stelle im Ausschnitt dabei gewesen?
@djmarc75 sagte in [gelöst] Wert von ObjektID parsen (regex):
da machen mir Sonderzeichen wie Ä Ö Ü Probleme.
das wäre kein Problem.
ja der Klarname!
ist doch bei Ben korrekt, oder? -
-
@djmarc75 sagte in [gelöst] Wert von ObjektID parsen (regex):
@homoran sagte in [gelöst] Wert von ObjektID parsen (regex):
ist doch bei Ben korrekt, oder?
Jawoll
dann bitte einen Ausschnitt mit Sonderzeichen, ich fürchte die sind im letzten Ausschnitt nicht dabei gewesen
-
@homoran sagte in [gelöst] Wert von ObjektID parsen (regex):
dann bitte einen Ausschnitt mit Sonderzeichen, ich fürchte die sind im letzten Ausschnitt nicht dabei gewesen
<dd class="episode-presenter"><a href="https://www.swr3.de/crew/constantin-zller-100.html">Constantin Zöller</a></dd>
-
@djmarc75 sagte in [gelöst] Wert von ObjektID parsen (regex):
@homoran sagte in [gelöst] Wert von ObjektID parsen (regex):
dann bitte einen Ausschnitt mit Sonderzeichen, ich fürchte die sind im letzten Ausschnitt nicht dabei gewesen
<dd class="episode-presenter"><a href="https://www.swr3.de/crew/constantin-zller-100.html">Constantin Zöller</a></dd>
Geizhals
etwas mehr wäre gut gewesen.
Sowas hab ich schon zusammengebastelt
das ß hab ich vorsorglich auch noch hinzugefügt, das - allerdings noch nicht und Zeichen mit Akzenten auch nicht
-
@homoran sagte in [gelöst] Wert von ObjektID parsen (regex):
Sowas hab ich schon zusammengebastelt
Läuft schon mal, aber die Ausgabe hat immer noch ein html"> zu viel
html">Constantin Zöller
Hier der Syntax:
(?<=<dd class="episode-presenter">)[\s\S]*?(html">([\w\säöüÄÖÜ]+))
-
@djmarc75 sagte in [gelöst] Wert von ObjektID parsen (regex):
Hier der Syntax:
das ist aber nicht was ich schrob!
dein Ergebnis beginnt ja auch bei html.
Die runde Klammer startet die "capturing group"
-
@homoran sagte in [gelöst] Wert von ObjektID parsen (regex):
Die runde Klammer startet die "capturing group"
Ja spitze, habs jetzt hinbekommen
(?<=<dd class="episode-presenter">)[\s\S]*?html">([\w\säöüÄÖÜ]+)
-
@djmarc75 sagte in [gelöst] Wert von ObjektID parsen (regex):
@homoran sagte in [gelöst] Wert von ObjektID parsen (regex):
Die runde Klammer startet die "capturing group"
Ja spitze, habs jetzt hinbekommen
(?<=<dd class="episode-presenter">)[\s\S]*?html">([\w\säöüÄÖÜ]+)
ist zwar immer noch nicht was ich schrob, aber Hauptsache es läuft.
jetzt muss ich mir überlegen warum
-
@homoran sagte: Die runde Klammer startet die "capturing group"
Ich habe mit den Beispielen mal in Blockly experimentiert.
Inhalt der JS-Funktion RegExp(text, regexp):
const match = text.match(new RegExp(regexp)); if(match.length > 1) return match[match.length - 1]; else if(match.length) return match[0]; return '';