Wie kann ich den regulären Ausdruck verwenden, um schnappen Sie sich einen 'img' - tag?
Möchte ich jetzt einen img
- Tags aus dem text zurückgegeben, die aus JSON-Daten, wie Sie. Ich will schnappen Sie sich diese aus einem string:
<img class="img" src="https://fbcdn-photos-c-a.akamaihd.net/hphotos-ak-frc3/1239478_598075296936250_1910331324_s.jpg" alt="" />
Was ist der reguläre Ausdruck, den ich verwenden muss, um es anzupassen?
Ich Folgendes, aber es funktioniert nicht.
"<img[^>]+src\\s*=\\s*['\"]([^'\"]+)['\"][^>]*>"
stackoverflow.com/a/1732454/775544
Bitte don ' T parse HTML mit regex. HTML ist keine reguläre Sprache.
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/php oder diesen SO-thread für Beispiele, wie richtig analysiert HTML-mit PHP-Module, die bereits geschrieben wurden, getestet und debuggt werden.
Wenn ich will, um alle Attribute (Titel, src, alt), was sind die nötigen Modifikationen mit der regex-Muster <img\s+[^>]*src="([^"]*)"[^>]*>. Vielen Dank im Voraus.
Bitte don ' T parse HTML mit regex. HTML ist keine reguläre Sprache.
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/php oder diesen SO-thread für Beispiele, wie richtig analysiert HTML-mit PHP-Module, die bereits geschrieben wurden, getestet und debuggt werden.
Wenn ich will, um alle Attribute (Titel, src, alt), was sind die nötigen Modifikationen mit der regex-Muster <img\s+[^>]*src="([^"]*)"[^>]*>. Vielen Dank im Voraus.
InformationsquelleAutor eng.ahmed | 2013-09-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
Könnten Sie benutzen Sie einfach diesen Ausdruck für ein img-tag, wie im Beispiel :
ja, ich weiß. Aber als Sie sagte, er habe nicht angegeben, was er will, zu erfassen .
Html kann nicht wirklich analysiert werden, effektiv mit regex, indem einige Granularität in der expression betters die Chancen aber.
regexr.com beschwert sich, dass die Schließung slash geschlossen werden muss UND schließenden Schrägstrich selbst ist optional, je nachdem, ist es in HTML oder XHTML. Der bessere Weg wäre:
<img([\w\W]+?)[\/]?>
, was denkst du?InformationsquelleAutor aleroot
Deine regex passt nicht auf die Zeichenkette, denn es fehlt die schließende
/
.Edit - Nein, die
/
ist nicht notwendig, so dass deine regex sollte gearbeitet haben. Aber Sie können sich entspannen, es ein bisschen wie im Bild unten gezeigt.Etwas modifiziert:
InformationsquelleAutor sln
Bitte beachten Sie, sollten Sie nicht verwenden reguläre Ausdrücke zum Parsen von HTML für die verschiedenen Gründe,
Oder verwenden Sie
Jsoup
...Aktualisiertes Beispiel
bekomme ich die ganze img-tag <img ..... />
Ja nutzen Sie einfach
String imgall = img.outerHtml(); System.out.println(imgall);
Jsoup ist die Leistung von der parse-Methode lässt viel zu wünschen übrig.
InformationsquelleAutor hwnd