NEWS
Parser - regex bringt mich zur Verzweiflung
-
klappt auch nicht bei regex101.com
Was willst du für einen Wert haben?
Melde mich gleich wieder.
EDIT:
ist es das hier?
\n\s*'Solarstrahlung':(\d*)
dann wäre es gut, wenn du einen Beispieltext mit Wert hättest
EDIT2:
ich denke jetzt sehe ich was du wollen könntest - aber bitte was GENAU?
Gruß
Rainer
-
Hallo Rainer,
nett, dass Du mir helfen willst.
Bei https://regex101.com/ klappt es - hatte einen kleinen Fehler bei der Threaderstellung hier, es muss heißen:
[']Solarstrahlung.*\n.*\n.*\n.*\n.*\n.*data: (.*) ````und nicht```` name: [']Solarstrahlung.*\n.*\n.*\n.*\n.*\n.*data: (.*)
Frag mich bitte nicht, warum da jetzt "name: " davor geknallt wurde - keine Ahnung. Stand auch in der Konfiguration. Hab's aber gelöscht, und trotzdem geht's nicht.
Wohlgemerkt: lösche ich z.B. die letzte ")" und füge sie wieder an, sagt der Editor das richtige Ergebnis:
[0.0,0.0,0.0,4.0,36.0,70.0,37.0,0.0,0.0,0.0,0.0,30.0,121.0,74.0,40.0,0.0,0.0,0.0,0.0,14.0,58.0,121.0,63.0,0.0,0.0,0.0,0.0,0.0,39.0,81.0,43.0,0.0,0.0,0.0,0.0,20.0,109.0,179.0,98.0,0.0,0.0,0.0,0.0,35.0,134.0,220.0,117.0,0.0,0.0,0.0,0.0,25.0,67.0,55.0,32.0,0.0]
Starte ich den Adapter, liefert er aber nix.
-
und du willst diesen ganzen Ausdruck haben?
nicht nur einen Wert daraus?
Gruß
Rainer
-
Ja, ich brauche halt alle Werte, muss sie danach in Javascript entsprechend verarbeiten. Will dafür jetzt keine 32 Datenpunkte aufmachen
Hier nochmal die Konfiguration des Datenpunkts:
-
Habe das jetzt auch getestet:
und es klappt im test.Die Frage ist nur, ob das auch von der Website zurückkommt???
Gruß
Rainer
-
gute Frage. Wenn Du Dir die Webseite
https://www.neuwetter.de/wetter/detailp … 13122.html
mal lädst und anschaust, steht der Text ja da drin.
Bzw… ändere mal die regEx einfach auf "Solarstrahlung" ab - siehe da, Ergebnis wird geschrieben.
Oder was meinst Du?
-
Genau, habe ich auch bereits getestet.
Manchmal stürzt mir sogar der Parser Adapter ab und geht auf rot.
Im Testmodus klappt es. - vielleicht ist das Ergebnis zu lang ???
Da muss @Bluefox etwas zu sagen.
Gruß
rainer
-
Danke Dir Rainer.
Habe gerade auch nochmal mit dem Hexeditor auf die HTML-Seite geschaut - da steht immer ein CRLF drin, nicht nur ein LF. Ob es damit zusammenhängt? Habe testhalber mal die \n durch \r\n ersetzt, hat aber auch nicht geholfen.
-
-
Nimm so was:
Regex: data:\s([^}\s]+)
Num: 5 `
Oje, wie hast Du das gezaubert? Ist ja der Hammer!
Das muss ich mal versuchen zu decodieren..
Danke Dir!
Harald
-
Das muss ich mal versuchen zu decodieren.. `
ich kannte zu dem Zeitpunkt diese Funktion noch nicht:
@Bluefox:Num: 5 `
Die nimmt das 6. Vorkommen des Regex.
Daher reicht als regex:
data:\s([^}\s]+)
das ja mehrfach vorkommt.
und zur erklärung sagt regex101.com
` > data: matches the characters data: literally (case sensitive)\s matches any whitespace character (equal to [\r\n\t\f\v ])
1st Capturing Group ([^}\s]+)
Match a single character not present in the list below [^}\s]+
- Quantifier — Matches between one and unlimited times, as many times as possible, giving back as needed (greedy)
} matches the character } literally (case sensitive)
\s matches any whitespace character (equal to [\r\n\t\f\v ]) `
Gruß
Rainer
-
Hallo alle zusammen,
ich bin neu hier und versuche (und verzweifle) seit Tagen, mit dem RegEx einigermaßen klar zu kommen. Dank der vielen Kommentare bin ich auch schon deutlich weiter gekommen, scheitere aber nun an der Auswertung der https://www.neuwetter.de/wetter-deutschland/niedersachsen/wetter-braunschweig/r10740.html Seite, um z.B. die Windrichtung zu extrahieren.
Versucht habe ich es mit diversen Ausdrücken....
Windrichtung.\s.>(.*)<
<td class="descvalue"><a href="/windspitzen.html">Höchste Windspitze</a></td>
<td class="colvalue">17 Km/h</td>
</tr>
<tr>
<td class="descvalue"><a href="/windrichtung.html">Windrichtung</a></td>
<td class="colvalue">Osten</td>
</tr>
<tr>
<td class="descvalue"> </td>
<td class="colvalue"> </td>
Das Ergebnis ergibt im RegEx Tester Osten, aber im Parser sieht das Ergebnis so aus:Ich hoffe hier noch Hilfe zu bekommen ,ob wohl ja schon länger nichts mehr passiert ist.
Gruß
Gerhard -
sorry, beim kopieren hat sich beim RegEx ein Fehler eingeschlichen: Windrichtung.\s.>(.*)<
-
@eb0klud
Versuche es mal mitWindrichtung.+\s.+>(.+)<
-
Danke Paul, aber das Ergebnis bleibt dasselbe......kein Ergebnis, kein Fehler