0

首先,我知道用正则表达式解析 HTML 是不好的。但是,幸运的是,我提取代码的网站很简单,所以使用这种方法我总是会得到很好的结果。

Pattern p = Pattern.compile("(?<=<span class=\\\"itemName\\\">).*(?=</span>)"); 
Matcher m = p.matcher(code);

这应该返回“itemname”标签和“span 标签”之间的内容。像这样的东西:

PESCA INSOLITA

但是,相反,它返回:

PESCA INSOLITA</span></a><li><a href="/uy/synop...

我究竟做错了什么?

4

1 回答 1

3

您正在使用贪婪的匹配器与您的.*. 这导致匹配器一直匹配到spanHTML 文档中的最后一个标记。相反,使用.*?-- 或者,更好的是,使用解析器......

于 2013-09-09T21:59:11.723 回答