NEWS
Javascript RegExp ???
-
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?
-
@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 dassnull
ausgegeben wird -
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.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...
-
@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 Barnimfür jede andere Stadt dann analog
EDIT:
und mit\/strong[^+]+([+\d\,]+)[^\d]+(\d+)[^\d]+([+\d\,]+)[^\d]+([+\d\,]+)
bekommst du alles in tausenden GroupsEDIT2:
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\,]+)<\/
-
@Homoran
danke für deine Mühe- leider liefert es keine Werte im javascriptlet casescontainer_ = /'ong>([\-\s\.\(\)\&\;\w]+)<\/strong><\/p>[^+]+([+\d\,]+)[^\d]+([\d\.]+)[^\d]+([+\d\,]+)[^\d]+([+\d\,]+)<\/'/ let casescontainer = casescontainer_.exec(body)
-
@sveni_lee sagte in Javascript RegExp ???:
leider liefert es keine Werte im javascript
da bin ich leider raus
-
-
@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
-
@fastfoot sagte in Javascript RegExp ???:
Auf regex101.com kannst du deine Versuche testen
da habe ich das regex her
-
@Homoran sagte in Javascript RegExp ???:
da habe ich das regex her
du hattest auch kein Anführungszeichen in deinem Post