Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. [gelöst] Parser und Umlaute

    NEWS

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

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    [gelöst] Parser und Umlaute

    This topic has been deleted. Only users with topic management privileges can see it.
    • Homoran
      Homoran Global Moderator Administrators @tom_33 last edited by

      @tom_33 sagte in Parser und Umlaute:

      Ich denke, \p{L} steht für Letter.

      eher für Language

      @tom_33 sagte in Parser und Umlaute:

      den Ausdruck muss ich erst zerlegen

      guten Appetit 😉

      bei Fragen - fragen!

      T 1 Reply Last reply Reply Quote 1
      • T
        tom_33 @Homoran last edited by

        @homoran sagte in Parser und Umlaute:

        guten Appetit

        Ich verdaue (verstehe) es nur Ansatzweise, aber es funktioniert 😀.
        Ich frage nun Windrichtung und Geschwindigkeit seperat ab und füge sie in meinem Vis wieder zusammen.

        Besten Dank für die schnelle Hilfe!

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

          @tom_33 sagte in Parser und Umlaute:

          aber es funktioniert

          natürlich 😆

          @tom_33 sagte in Parser und Umlaute:

          Ich verdaue (verstehe) es nur Ansatzweise

          du suchst einen möglichst eindeutige Stelle (Wind<) so dicht wie möglich an dem gewünschten Wert (String)
          Dann arbeitest du dich weiter mit Platzhaltern an die Stelle heran.
          Da der Parser nicht mit \n umgehen kann wird es leider etwas umständlicher:
          beliebig viele Zeichen bis zum nächsten Doppelpunkt [^:]+
          beliebig viele Zeichen bis zur nächsten schließenden spitzen Klammer [^:]+
          beliebig viele Zeichen bis zum nächsten Buchstaben [^\w]+
          Dann die gesuchte Gruppe bestehend aus einer beliebigen Anzahl von beliebigen Zeichen, beendet mit einem Komma (.+),

          1 Reply Last reply Reply Quote 0
          • T
            tom_33 last edited by

            @homoran sagte in Parser und Umlaute:

            So aufgedröselt und fein erklärt gehts ja, aber selbst auszudenken - da ist bei mir schon lange Schluss 😂
            Ein bisschen verwirrend ist, dass regex101 nicht die gleichen Resultate liefert.

            und zuletzt bestimmt die 0 (null) keine weiteren Zeichen mehr auszugeben?

            Homoran OliverIO 2 Replies Last reply Reply Quote 0
            • Homoran
              Homoran Global Moderator Administrators @tom_33 last edited by

              @tom_33 sagte in Parser und Umlaute:

              Ein bisschen verwirrend ist, dass regex101 nicht die gleichen Resultate liefert.

              Bei mir schon. (Ich nutze ja auch nur dokumentierte Befehle 😉 )
              Hast du auch auf Javascript eingestellt?

              @tom_33 sagte in Parser und Umlaute:

              und zuletzt bestimmt die 0 (null) keine weiteren Zeichen mehr auszugeben?

              ????

              erst einmal ist 0 nicht null
              und zweitens weiß ich nicht was du meinst.

              Der RegEx enthält eine Gruppe, die das Ergebnis bereitstellt
              Die Kunst liegt darin, diesen RegEx eindeutig zu machen

              T 1 Reply Last reply Reply Quote 0
              • T
                tom_33 @Homoran last edited by tom_33

                @homoran sagte in Parser und Umlaute:

                Hast du auch auf Javascript eingestellt?

                natürlich nicht! Mein Fehler!

                und zweitens weiß ich nicht was du meinst.
                Versuch mal Wind<[^:]+[^>]+[^\w]+(.+), Num = 0

                ohne "0" bekomme ich das Ergebnis:

                87f006fc-1973-498b-8e0d-a7962eaf0df6-grafik.png

                mit "0" dieses (so wie ich es möchte):

                0ce30aa8-53b5-46cb-a204-79d70802b987-grafik.png

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

                  @tom_33 sagte in Parser und Umlaute:

                  ohne "0" bekomme ich das Ergebnis:

                  Sollte aber nicht.
                  kann sein, dass das > escaped werden muss \>

                  T 1 Reply Last reply Reply Quote 0
                  • T
                    tom_33 @Homoran last edited by tom_33

                    @homoran
                    Mir ist erst bei den Screenshots aufgefallen, dass das Dropdownfeld Num = 0 gemeint ist. Sorry!

                    Ein escape bringt leider keine Änderung.

                    Mein Irrtum bringt das gewünschte Ergebnis 🤔

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

                      @tom_33 sagte in Parser und Umlaute:

                      ir ist erst bei den Screenshots aufgefallen, dass das Dropdownfeld Num = 0 gemeint ist. Sorry!

                      😁

                      @tom_33 sagte in Parser und Umlaute:

                      Ein escape bringt leider keine Änderung.

                      Hab es jetzt erkannt (Windstill ist die Himmelsrichtung) Da muss ich nochmal ran,
                      Hab leider gerade alles zu gemacht 😞

                      Edit:
                      versuch mal: Wind<[^:]+[^>]+[^\w]+([\w,ü]+),

                      T 1 Reply Last reply Reply Quote 0
                      • T
                        tom_33 @Homoran last edited by

                        @homoran sagte in Parser und Umlaute:

                        Wind<[^:]+[^>]+[^\w]+([\w,ü]+),

                        Bingo!

                        Eine Spende ist inzwischen an die GmbH gegangen.
                        Vielen, vielen Dank
                        sg tom

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

                          @tom_33 sagte in Parser und Umlaute:

                          Bingo!

                          und nimm das Komma wieder in den [ ] raus 😉
                          das hat sich dahin verirrt

                          korrekt:
                          Wind<[^:]+[^>]+[^\w]+([\wü]+),

                          1 Reply Last reply Reply Quote 1
                          • OliverIO
                            OliverIO @tom_33 last edited by OliverIO

                            @tom_33 sagte in Parser und Umlaute:

                            @homoran sagte in Parser und Umlaute:

                            So aufgedröselt und fein erklärt gehts ja, aber selbst auszudenken - da ist bei mir schon lange Schluss 😂
                            Ein bisschen verwirrend ist, dass regex101 nicht die gleichen Resultate liefert.

                            und zuletzt bestimmt die 0 (null) keine weiteren Zeichen mehr auszugeben?

                            Regex liefert eigentlich schon die gleichen Ergebnisse. Nur sind die voreingestellten Optionen bei regex101 andere wie beim parser

                            Regex101 = gm
                            Parser = si

                            Wenn man in regex 101 si als Optionen auswählt dann kommt man dem parser Verhalten näher.
                            Ich hatte mal in den source reingeschaut, aber unter bestimmten Umständen ändert er die Optionen wieder

                            Ok Korrektur, hab gerade mal in den source geschaut.
                            Wenn eine item Nummer angegeben wurde dann Option g
                            Wenn item Nummer nicht angegeben, dann keine Option.
                            Dafür werden aber generell alle Zeilenumbrüche vor dem parsen in Leerzeichen umgewandelt.

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

                              @oliverio sagte in Parser und Umlaute:

                              Nur sind die voreingestellten Optionen bei regex101 andere wie beim parser
                              Regex101 = gm
                              Parser = si

                              ja, aber was ist si, ich habe auf gs gestellt.
                              \n kann der Parser z.B. nicht
                              $ anscheinend auch nicht

                              gefährlich ist aber, wenn man die Voreinstellung nicht auf javascript ändert

                              OliverIO 1 Reply Last reply Reply Quote 0
                              • OliverIO
                                OliverIO @Homoran last edited by OliverIO

                                @homoran sagte in Parser und Umlaute:

                                @oliverio sagte in Parser und Umlaute:

                                Nur sind die voreingestellten Optionen bei regex101 andere wie beim parser
                                Regex101 = gm
                                Parser = si

                                ja, aber was ist si, ich habe auf gs gestellt.
                                \n kann der Parser z.B. nicht
                                $ anscheinend auch nicht

                                gefährlich ist aber, wenn man die Voreinstellung nicht auf javascript ändert

                                Siebe mein angepasster Post oben.

                                Zeilen Anfang ^ und Zeitenende $ gibt es halt dann nur ein einziges Mal. Nämlich am Anfang der Datei und am Ende der Datei, da alles dann nur noch aus einer Zeile besteht.

                                Ich fände es schön wenn der parser Adapter oder parser2? Adapter genau so wie regex101 funktionieren würde und man nur noch den regex String und Optionen übernehmen müsste.

                                g heißt global Match und gibt alle gefundenen Ergebnisse und nicht nur das erste zurück.
                                i ist case insensitive also keine Unterscheidung von gross und Kleinbuchstaben
                                s steht für single line , dass heist Zeilenumbrüche werden herausgefiltert (und nicht mit einem Leerzeichen ersetzt wie im parser Adapter)

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

                                  @oliverio sagte in Parser und Umlaute:

                                  Ich fände es schön wenn der parser Adapter oder parser2? Adapter genau so wie regex101 funktionieren würde und man nur noch den regex String und Optionen übernehmen müsste.

                                  👍

                                  und wenn man dann in parser3 noch (optional) einen Browser-Header und Credentials mitgeben könnte wäre das die Kirsche auf der Sahne

                                  @oliverio sagte in Parser und Umlaute:

                                  i ist case insensitive also keine Unterscheidung von gross und Kleinbuchstaben

                                  heisst das, dass der Parser case insensitiv arbeitet?
                                  Das wärte natüerlich wichtig zu wissen

                                  OliverIO 1 Reply Last reply Reply Quote 0
                                  • OliverIO
                                    OliverIO @Homoran last edited by

                                    @homoran
                                    Nein nicht case insensitive.
                                    Option I ist nicht angegeben.
                                    Wobei da etwas vorgesehen ist was aber wohl nicht von der Oberfläche aus angesprochen wird

                                    Wenn im jeweiligen datenpunkt eines oder mehrere der folgenden Schlüsselworte mit angegeben ist, dann werden diese Optionen verwendet.
                                    https://github.com/ioBroker/ioBroker.parser/blob/e34122ce3aee43c24c44fe3b9375b07a49c551d0/main.js#L148

                                    Das kann man aber nur im raw Modus auf dem datenpunkt direkt pflegen.

                                    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

                                    438
                                    Online

                                    32.1k
                                    Users

                                    80.6k
                                    Topics

                                    1.3m
                                    Posts

                                    3
                                    19
                                    827
                                    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