很简单。
我只想从unicode HTML源中提取一些String值。
原始来源如下所示:
<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());
如何提取这些值?谢谢!
答案 0 :(得分:1)
首先,你should not use a regex to parse HTML。 首选use a parser。
但是,经过所有这些考虑,这样的东西可能会成功:
<tr[\s\S]*?class\="left">([^<]*)[\s\S]*?<td>([^<]*)[\s\S]*?viewData\(([^\(]*),