Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Javascript RegExp ???

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Javascript RegExp ???

    This topic has been deleted. Only users with topic management privileges can see it.
    • S
      sveni_lee last edited by

      Ich stehe irgendwie mit RegExp auf dem Kriegsfuß.
      ich möchte gern den Inhalt einer webseite parsen und hierbei speziel einen Auschnitt herausfiltern.

      ich möchte gern alles zwischen <p><strong>kumuliert</strong><strong></strong></p> und </tbody> zurückbekommen.

      let casescontainer_ = new RegExp('<p><strong>kumuliert<\/strong><strong><\/strong><\/p>(.+?)<\/tbody>')
      let casescontainer = casescontainer_.exec(inhaltweb)
      

      es kommt aber nur 'null' zurück.

      wo liegt mein Fehler?

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

        @sveni_lee sagte in Javascript RegExp ???:

        Ich stehe irgendwie mit RegExp auf dem Kriegsfuß.

        das ist weniger mein Problem, als ein RegExp in javascript einzubinden 😉

        @sveni_lee sagte in Javascript RegExp ???:

        Ich möchte gern den Inhalt einer webseite parsen und hierbei speziel einen Auschnitt herausfiltern.

        Da kann ich dir gerne versuchen zu helfen, den richtigen RegExp zu finden, aber mit der Einbindung in js leider nicht

        @sveni_lee sagte in Javascript RegExp ???:

        ich möchte gern alles zwischen <p><strong>kumuliert</strong><strong></strong></p> und </tbody> zurückbekommen.

        dazu benötigt man auf jeden Fall den Quelltext der gesamten Seite, nicht nur einen Ausschnitt.
        Andere Stellen auf der Seite können dir einen Strich durch die Rechnung machen, was dazu führen könnte dass null ausgegeben wird

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

          @Homoran

          erst einmal Danke dafür.
          Also ich habe festgestellt das die Corona-Zahlen für die Landkreise de das RKI rausgibt schon sehr stark von den hier vom Ministerium veröffentlichten abweichen. Also versuche ich die Pressemitteilungen zu parsen.

          bsp.
          https://msgiv.brandenburg.de/msgiv/de/presse/pressemitteilungen/detail/~22-10-2020-corona-faelle-stand-22102020

          es geht mir im Grunde nur um die "Tabelle".

          unction detailedLink(link) {
          
                  if (link.match(/^https?:\/\//)) {
                  request = request || require('request');
                  request (link,
                      function(error, response, body){
          
                          htmlbody = body
                    
                  let htmlcontent = htmlbody
                  let container = htmlcontent.split('<main id="maincontent">')
          
                  if(container[1]) {
                      let _headline = new RegExp('COVID-19: (.+?)</h1>')
                      let headline_ = _headline.exec(container[1])
                      let _news = new RegExp('<p><strong>(.+?)</strong></p>')
                      let news_ = _news.exec(container[1])
                      let news = news_[1].replace('<p>', '')
                      news = news.replace('</p>', '')
                      news = news.replace('<strong>', '')
                      news = news.replace('</strong>', '')
                      let headline = headline_[1].replace('</h1>', '')
                      log(headline)
                      log(news)
          
                      let casescontainer_ = new RegExp('<p><strong>kumuliert<\/strong><strong><\/strong><\/p>(.+?)<\/tbody>')
                      let casescontainer = casescontainer_.exec(container[1])
                      log(casescontainer[0])
                      }
                  })
              }
                  
          }
          
          

          der code ist noch nicht aufgeräumt und auch noch nicht schick gemacht...

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

            @sveni_lee Hier mal ein Beispiel für Barnim: Barnim[^+]+([+\d\,]+)[^\d]+(\d+)[^\d]+([+\d\,]+)[^\d]+([+\d\,]+)
            damit bekämst du im Parser-Adapter mit den NUM 0-3 die 4 Werte für Barnim

            für jede andere Stadt dann analog

            EDIT:
            und mit \/strong[^+]+([+\d\,]+)[^\d]+(\d+)[^\d]+([+\d\,]+)[^\d]+([+\d\,]+) bekommst du alles in tausenden Groups

            EDIT2:
            der Versuch alles in einem RegEx zu erschlagen und die Städtenamen mit zu bekommen war schon etwas abenteuerlicher.
            Ob dieses RegEx bei dir Erfolg hat weiß ich nicht:
            ong>([\-\s\.\(\)\&\;\w]+)<\/strong><\/p>[^+]+([+\d\,]+)[^\d]+([\d\.]+)[^\d]+([+\d\,]+)[^\d]+([+\d\,]+)<\/

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

              @Homoran
              danke für deine Mühe- leider liefert es keine Werte im javascript

                          let casescontainer_ = /'ong>([\-\s\.\(\)\&\;\w]+)<\/strong><\/p>[^+]+([+\d\,]+)[^\d]+([\d\.]+)[^\d]+([+\d\,]+)[^\d]+([+\d\,]+)<\/'/
                          let casescontainer = casescontainer_.exec(body)
              
              Homoran F 2 Replies Last reply Reply Quote 0
              • Homoran
                Homoran Global Moderator Administrators @sveni_lee last edited by

                @sveni_lee sagte in Javascript RegExp ???:

                leider liefert es keine Werte im javascript

                da bin ich leider raus

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

                  @sveni_lee

                  schau mal hier
                  https://stackoverflow.com/questions/25097039/use-regex-to-extract-a-chunk-a-table-then-an-array-of-rows

                  1 Reply Last reply Reply Quote 0
                  • F
                    fastfoot @sveni_lee last edited by

                    @sveni_lee sagte in Javascript RegExp ???:

                    let casescontainer_ = /'ong>

                    Das einfache Anführungszeichen hat da nichts verloren. Auf regex101.com kannst du deine Versuche testen

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

                      @fastfoot sagte in Javascript RegExp ???:

                      Auf regex101.com kannst du deine Versuche testen

                      da habe ich das regex her 😉

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

                        @Homoran sagte in Javascript RegExp ???:

                        da habe ich das regex her

                        du hattest auch kein Anführungszeichen in deinem Post 🙂

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        630
                        Online

                        31.8k
                        Users

                        80.0k
                        Topics

                        1.3m
                        Posts

                        4
                        10
                        531
                        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