【发布时间】:2015-06-17 07:43:54
【问题描述】:
很简单。
我只想从 unicode HTML 源代码中提取一些字符串值。
原文如下:
<div id="encompass">
<tr class="lineonoff">
<td class="xsmall">27</td>
<td>DATE</td>
<td class="left">TITLE</td>
<td>STATUS</td>
<td><a href="javascript:viewData(ID, '')" class="button purple small"><span>A</span></a></td>
</tr>
<tr class="lineonoff">
<td class="xsmall">28</td>
<td>DATE</td>
<td class="left">TITLE</td>
<td>STATUS</td>
<td><a href="javascript:viewData(ID, '')" class="button purple small"><span>B</span></a></td>
</tr>
<tr class="lineonoff">
<td class="xsmall">29</td>
<td>DATE</td>
<td class="left">TITLE</td>
<td>STATUS</td>
<td><a href="javascript:viewData(ID, '')" class="button purple small"><span>C</span></a></td>
</tr>
</div>
我想提取 TITLE、DATE、STATUS、ID。
我尝试了许多可能的 RegEx 变体,但最后都失败了..
final Pattern pattern = Pattern.compile(PATTERN_STRING);
Matcher matcher = pattern.matcher(result.toString());
如何提取这些值?谢谢!
【问题讨论】:
-
...尤其是its legendary answer。简而言之,不要使用正则表达式。使用 HTML 解析器解析 HTML。在主要搜索引擎中搜索
java html parser会出现许多选项。