我有一个包含很大一部分html的字符串,并且正在尝试从字符串的href =“ …”部分提取链接。href可以采用以下形式之一:
<a href="..." />
<a class="..." href="..." />
我真的没有正则表达式的问题,但是由于某些原因,当我使用以下代码时:
String innerHTML = getHTML();
Pattern p = Pattern.compile("href=\"(.*)\"", Pattern.DOTALL);
Matcher m = p.matcher(innerHTML);
if (m.find()) {
// Get all groups for this match
for (int i=0; i<=m.groupCount(); i++) {
String groupStr = m.group(i);
System.out.println(groupStr);
}
}
有人可以告诉我我的代码有什么问题吗?我在php中做过这些事情,但是在Java中我却以某种方式做错了什么。正在发生的事情是,每当我尝试打印它时,它都会打印整个html字符串…
编辑:以便每个人都知道我正在处理哪种字符串:
<a class="Wrap" href="item.php?id=43241"><input type="button">
<span class="chevron"></span>
</a>
<div class="menu"></div>
每当我运行代码时,它都会打印整个字符串…这就是问题所在…
关于使用jTidy …我正在研究它,但是知道在这种情况下出了什么问题也很有趣…
.*
这是一个贪婪的操作,它将使用包括引号在内的任何字符。
尝试类似的方法:
"href=\"([^\"]*)\""
问题内容: 我需要清理来自各种Microsoft Office套件应用程序(Excel,Access和Word)的字符串(复制/粘贴),每个应用程序都有自己的一组编码。 我将json_encode用于调试目的,以便能够看到每个编码的字符。 我可以使用str_replace清除到目前为止找到的所有内容(\ r \ n),但是使用\ u00a0则没有运气。 返回: 那是完全一样的。它完全忽略\ u00
我需要把绳子接上 到目前为止,我有这个,但不知道如何截断实际的“字符串分隔符”:
问题内容: 我试图提取一个子字符串。我需要在PHP中做一些帮助。 以下是一些我正在使用的示例字符串以及需要的结果: 我想将字符串保留到第一个,但是如果不存在,请获取整个字符串。 我试过了, 我认为它说-获取位置,然后从位置0到 该 位置获取子字符串。 我不知道如何处理不存在的情况,而又不会使声明太大。 有没有一种方法也可以处理这种情况而又不会使PHP语句过于复杂? 问题答案: 采用 在这种情况下,
问题内容: 我尝试获取<%=和%>之间的字符串,这是我的实现: 它返回 但我的期望是: 我在哪里错了以及如何纠正它? 问题答案: 您的模式很好。但是,您不应该轻信它,应该这样做。以下代码提供了您正在寻找的输出:
我试图创建一个项目,我需要从imdb中提取数据。我看过一些php提取器,但我需要一个java程序来实现这一点。我需要提取以下信息: 电影名称和年份 小地块 评分 体裁 演员 我需要从以下数据中提取数据: 该数据来自imdbapi。如果有帮助的话。让我知道是否有任何其他方法以任何其他方式提取此数据,我指的是以更结构化的形式显示此数据的其他方式。喜欢excel。