[英]How to extract HTML's <td> tag data using regex in Java?
我试图使用Java从电子邮件中读取用户名和密码,它以html格式返回邮件内容,我只想提取<td>
标签下的用户名和密码。 以下是我的HTML代码段-
<table width="200">
<tbody>
<tr>
<td colspan="2">Your Account Details:</td>
</tr>
<tr>
<td>EmailId:</td>
<td><a class="moz-txt-link-abbreviated" href="mailto:jainish.m.kapadia@trimantra.net">jainish.m.kapadia@trimantra.net</a></td>
</tr>
<tr>
<td>Password:</td>
<td>C3mRXh+|n#1J</td>
</tr>
</tbody>
</table>
我该如何实现?
请不要尝试使用RegEx解析HTML,以获取有关为什么不应该尝试使用此方法的详细答案,请参阅此SO 答案 。
您可以使用jsoup来解析HTML字符串,如下所示:
String html = "<html><head><title>First parse</title></head>"
+ "<body><p>Parsed HTML into a doc.</p></body></html>";
Document doc = Jsoup.parse(html);
Element content = doc.getElementById("content");
Elements links = content.getElementsByTag("a");
for (Element link : links) {
String linkHref = link.attr("href");
String linkText = link.text();
}
jsoup还提供了用于分层导航的方法,例如
siblingElements();
nextElementSibling();
等等。
您可以使用以下代码段:
String str = "your html";
Pattern pattern = Pattern.compile("(<td>(.*?)<\\/td>)");
Matcher matcher = pattern.matcher(str);
这将带回所有<td>
标记。 现在,您可以遍历matcher
并获取所需的字符串。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.