Extrahieren string von HTML-tags mit RegExp (Ruby)

Möchte ich extrahieren "toast" aus einem string <h1>test</h1><div>toast</div>. Was den regulären Ausdruck könnte isolieren, so ein string?

Edit: Danke an den user, wer korrigiert die Formatierung.

Weitere Infos: Es wird immer nur eine Instanz des div-Tags, die Informationen im inneren kann sich ändern, aber es wird nie eine andere div-tag in die gleiche Zeichenfolge (die Zeichenfolge ist größer als die gegebene Stichprobe)

Dank!

  • basierend auf was? möchten Sie einfach allen text innerhalb div? dies ist wahrscheinlich am besten zu tun, mit einer Art von dom-parser anstatt regex.
  • sorry, habe ich Fix die Frage. Mein Chef verlangt, mich mit regex, also habe ich keine Wahl :/
  • Nokogiri ist das beste Werkzeug zum analysieren von HTML-und XML-stopft..
  • Wir brauchen mehr Informationen. Welcher Teil des Strings ist variabel? Zum Beispiel, eine naive Lösung wäre regex = /<h1>test<\/h1><div>([^<]*)<\/div>/
  • Nun, dies ist nur ein kleiner Teil der gesamten Zeichenfolge, so dass keine einfachen Lösungen funktionieren leider (ich habe versucht, diese, aber der regex ist viel zu klobig). Alle tags werden immer die gleichen bleiben, es ist der Inhalt, der im inneren (D. H. "toast"), das wird sich ändern
  • Ist es immer nur ein einzelnes div-Element innerhalb dieser Zeichenfolge? Mehr Kontext ist nötig, um eine genaue Antwort.
  • nicht verwenden reguläre Ausdrücke zum Parsen von HTML. Mit einem richtigen HTML-parsing-Modul. Sie können nicht zuverlässig Parsen von HTML mit regulären Ausdrücken, und Sie wird das Gesicht von Kummer und Frust auf der Straße. Sobald die HTML-änderungen von Ihren Erwartungen, Ihren code gebrochen. Siehe htmlparsing.com/ruby für Beispiele, wie Sie richtig zu analysieren, HTML, Ruby-Module, die bereits geschrieben wurden, getestet und debuggt werden.
  • Parsen von HTML mit regulären Ausdrücken Ladung Zalgo: stackoverflow.com/a/1732454/38765

InformationsquelleAutor John Dough | 2013-08-07
Schreibe einen Kommentar