Ich habe einen HTML-String. Ich möchte jedes Tabellenelement (Open-Close-Tags) mit Regex finden. Ich versuchte <table(.*?)>.*</table>
Muster dafür. Aber es funktioniert nicht, weil es so etwas wie zwischen dem ersten offenen Tag der Tabelle und dem letzten Tag der letzten Tabelle entspricht.Finden Sie alle Tabellenelemente in HTML mit Regex in Java
Hier ist mein Code:
Pattern pattern = Pattern.compile("<table(.*?)>.*</table>");
und ich habe auch versucht:
Pattern pattern = Pattern.compile("<table(.*?)>.*</table>",Pattern.DOTALL);
Hier ein Beispiel ist:
<table id="table1">
</table>
<table id="table2">
<table id="table3">
</table>
</table>
Mein Muster alle Elemente zwischen <table id="table1">
findet Öffnen Sie das Tag tag und table2.
Aber ich möchte, dass es jedes Tabellenelement mit seinem Tag übereinstimmt. Zum Beispiel: open-close-Tags von table1, open-close-Tags von table2.
Vielen Dank für Ihre Antworten.
Parsing HTML mit regulären Ausdrücken ist schlechte Praxis betrachtet. Sie sollten stattdessen einen ausgeklügelten HTML-Parser verwenden. Siehe [Verwenden von regulären Ausdrücken zum Analysieren von HTML: Warum nicht?] (Https://stackoverflow.com/questions/590747/using-regular-expressions-to-parse-html-why-not) – vanje