我有一個html作爲字符串。我想用正則表達式找到每個表格元素(開關標籤)。我嘗試了<table(.*?)>.*</table>
模式。但它不起作用,因爲它匹配第一個表格打開標籤和最後一個表格關閉標籤之間的東西。在java中使用正則表達式在html中查找每個表格元素
這裏是我的代碼:
Pattern pattern = Pattern.compile("<table(.*?)>.*</table>");
而且我已經試過:
Pattern pattern = Pattern.compile("<table(.*?)>.*</table>",Pattern.DOTALL);
這裏有一個實例:
<table id="table1">
</table>
<table id="table2">
<table id="table3">
</table>
</table>
我的模式找到所有<table id="table1">
之間的所有元素打開標籤和table2的關閉標籤。
但我希望它匹配每個表元素與它的標籤。例如:table1的開閉標籤,table2的開閉標籤..
感謝您的回答。
解析HTML正則表達式被認爲是不好的做法。您應該使用複雜的HTML解析器。請參閱[使用正則表達式來解析HTML:爲什麼不?](https://stackoverflow.com/questions/590747/using-regular-expressions-to-parse-html-why-not) – vanje