Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Parser - regex bringt mich zur Verzweiflung

    NEWS

    • Neues Video "KI im Smart Home" - ioBroker plus n8n

    • Neues Video über Aliase, virtuelle Geräte und Kategorien

    • Wir empfehlen: Node.js 22.x

    Parser - regex bringt mich zur Verzweiflung

    This topic has been deleted. Only users with topic management privileges can see it.
    • H
      Harry-IO-HM last edited by

      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.

      1 Reply Last reply Reply Quote 0
      • Homoran
        Homoran Global Moderator Administrators last edited by

        und du willst diesen ganzen Ausdruck haben?

        nicht nur einen Wert daraus?

        Gruß

        Rainer

        1 Reply Last reply Reply Quote 0
        • H
          Harry-IO-HM last edited by

          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:
          1279_0.jpg
          1279_1.jpg

          1 Reply Last reply Reply Quote 0
          • Homoran
            Homoran Global Moderator Administrators last edited by

            Habe das jetzt auch getestet:
            144_json_parser.jpg
            und es klappt im test.

            Die Frage ist nur, ob das auch von der Website zurückkommt???

            Gruß

            Rainer

            1 Reply Last reply Reply Quote 0
            • H
              Harry-IO-HM last edited by

              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?

              1 Reply Last reply Reply Quote 0
              • Homoran
                Homoran Global Moderator Administrators last edited by

                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

                1 Reply Last reply Reply Quote 0
                • H
                  Harry-IO-HM last edited by

                  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.

                  1 Reply Last reply Reply Quote 0
                  • Bluefox
                    Bluefox last edited by

                    Nimm so was:

                    Regex: data:\s([^}\s]+)

                    Num: 5
                    48_2018-01-23_11_24_47-iobroker.admin.png

                    1 Reply Last reply Reply Quote 0
                    • H
                      Harry-IO-HM last edited by

                      @Bluefox:

                      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

                      1 Reply Last reply Reply Quote 0
                      • Homoran
                        Homoran Global Moderator Administrators last edited by

                        @Harry-IO-HM:

                        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

                        1 Reply Last reply Reply Quote 0
                        • E
                          eb0klud last edited by

                          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:

                          08e19e89-df0c-458c-b6a1-d27b1e313ce8-image.png

                          Ich hoffe hier noch Hilfe zu bekommen ,ob wohl ja schon länger nichts mehr passiert ist.

                          Gruß
                          Gerhard

                          1 Reply Last reply Reply Quote 0
                          • E
                            eb0klud last edited by

                            sorry, beim kopieren hat sich beim RegEx ein Fehler eingeschlichen: Windrichtung.\s.>(.*)<

                            paul53 1 Reply Last reply Reply Quote 0
                            • paul53
                              paul53 @eb0klud last edited by

                              @eb0klud
                              Versuche es mal mit

                              Windrichtung.+\s.+>(.+)<
                              
                              1 Reply Last reply Reply Quote 0
                              • E
                                eb0klud last edited by

                                Danke Paul, aber das Ergebnis bleibt dasselbe......kein Ergebnis, kein Fehler

                                1 Reply Last reply Reply Quote 0
                                • First post
                                  Last post

                                Support us

                                ioBroker
                                Community Adapters
                                Donate
                                FAQ Cloud / IOT
                                HowTo: Node.js-Update
                                HowTo: Backup/Restore
                                Downloads
                                BLOG

                                881
                                Online

                                32.1k
                                Users

                                80.6k
                                Topics

                                1.3m
                                Posts

                                5
                                16
                                2348
                                Loading More Posts
                                • Oldest to Newest
                                • Newest to Oldest
                                • Most Votes
                                Reply
                                • Reply as topic
                                Log in to reply
                                Community
                                Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                The ioBroker Community 2014-2023
                                logo