Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. Javascript RegExp ???

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.5k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.0k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.6k

Javascript RegExp ???

Geplant Angeheftet Gesperrt Verschoben JavaScript
10 Beiträge 4 Kommentatoren 788 Aufrufe 3 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • S Offline
    S Offline
    sveni_lee
    schrieb am zuletzt editiert von
    #1

    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?

    HomoranH OliverIOO 2 Antworten Letzte Antwort
    0
    • S sveni_lee

      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?

      HomoranH Nicht stören
      HomoranH Nicht stören
      Homoran
      Global Moderator Administrators
      schrieb am zuletzt editiert von
      #2

      @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

      kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

      der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

      S 1 Antwort Letzte Antwort
      0
      • HomoranH Homoran

        @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 Offline
        S Offline
        sveni_lee
        schrieb am zuletzt editiert von
        #3

        @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...

        HomoranH 1 Antwort Letzte Antwort
        0
        • S sveni_lee

          @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...

          HomoranH Nicht stören
          HomoranH Nicht stören
          Homoran
          Global Moderator Administrators
          schrieb am zuletzt editiert von Homoran
          #4

          @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\,]+)<\/

          kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

          der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

          S 1 Antwort Letzte Antwort
          0
          • HomoranH 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 Offline
            S Offline
            sveni_lee
            schrieb am zuletzt editiert von
            #5

            @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)
            
            HomoranH F 2 Antworten Letzte Antwort
            0
            • S sveni_lee

              @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)
              
              HomoranH Nicht stören
              HomoranH Nicht stören
              Homoran
              Global Moderator Administrators
              schrieb am zuletzt editiert von
              #6

              @sveni_lee sagte in Javascript RegExp ???:

              leider liefert es keine Werte im javascript

              da bin ich leider raus

              kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

              Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

              der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

              1 Antwort Letzte Antwort
              0
              • S sveni_lee

                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?

                OliverIOO Offline
                OliverIOO Offline
                OliverIO
                schrieb am zuletzt editiert von
                #7

                @sveni_lee

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

                Meine Adapter und Widgets
                TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                Links im Profil

                1 Antwort Letzte Antwort
                0
                • S sveni_lee

                  @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)
                  
                  F Offline
                  F Offline
                  fastfoot
                  schrieb am zuletzt editiert von
                  #8

                  @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

                  iobroker läuft unter Docker auf QNAP TS-451+
                  SkriptRecovery: https://forum.iobroker.net/post/930558

                  HomoranH 1 Antwort Letzte Antwort
                  0
                  • F fastfoot

                    @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

                    HomoranH Nicht stören
                    HomoranH Nicht stören
                    Homoran
                    Global Moderator Administrators
                    schrieb am zuletzt editiert von
                    #9

                    @fastfoot sagte in Javascript RegExp ???:

                    Auf regex101.com kannst du deine Versuche testen

                    da habe ich das regex her ;-)

                    kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                    der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                    F 1 Antwort Letzte Antwort
                    0
                    • HomoranH Homoran

                      @fastfoot sagte in Javascript RegExp ???:

                      Auf regex101.com kannst du deine Versuche testen

                      da habe ich das regex her ;-)

                      F Offline
                      F Offline
                      fastfoot
                      schrieb am zuletzt editiert von
                      #10

                      @Homoran sagte in Javascript RegExp ???:

                      da habe ich das regex her

                      du hattest auch kein Anführungszeichen in deinem Post :-)

                      iobroker läuft unter Docker auf QNAP TS-451+
                      SkriptRecovery: https://forum.iobroker.net/post/930558

                      1 Antwort Letzte Antwort
                      0
                      Antworten
                      • In einem neuen Thema antworten
                      Anmelden zum Antworten
                      • Älteste zuerst
                      • Neuste zuerst
                      • Meiste Stimmen


                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      758

                      Online

                      32.4k

                      Benutzer

                      81.4k

                      Themen

                      1.3m

                      Beiträge
                      Community
                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                      ioBroker Community 2014-2025
                      logo
                      • Anmelden

                      • Du hast noch kein Konto? Registrieren

                      • Anmelden oder registrieren, um zu suchen
                      • Erster Beitrag
                        Letzter Beitrag
                      0
                      • Home
                      • Aktuell
                      • Tags
                      • Ungelesen 0
                      • Kategorien
                      • Unreplied
                      • Beliebt
                      • GitHub
                      • Docu
                      • Hilfe