gpt4 book ai didi

java - 使用正则表达式从 HTML 标签中抓取文本

转载 作者:行者123 更新时间:2023-11-30 09:46:24 25 4
gpt4 key购买 nike

我正在尝试从 HTML 标签中读取一些内容,但在涉及正则表达式时我完全是个傻瓜(我已经使用了一些模式,但似乎都没有用)。

我正在阅读网页,查看这一行:<td title='Visit Page for Demilict'><a href='personal.php?name=Demilict&amp;c=s' class='idk' rel='Demilict' style='color: teal;'>Demilict</a></td>

我需要从那里提取“Demilict”,如您所见,有 3 次这样做的机会。

从哪个位置提取它最好,我将如何实现?

我也使用它来查找名称,因为我需要提取大约 60 个不同的名称,它们都使用相同的格式,除了名称只能包含字母数字和下划线。

public void parse(String list) {
try {
URL url = new URL(list);
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(url.openStream()));
String line;
StringBuilder stringBuilder = new StringBuilder();
while ((line = bufferedReader.readLine()) != null) {
stringBuilder.append(line).append("\n");
}
System.out.println(stringBuilder.toString());
Matcher matcher = namePattern.matcher(stringBuilder.toString());
if (matcher.find()) {
System.out.println("matched: " + matcher.group());
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}

最佳答案

<a.*?>(\w+)</a>将抓取 <a ...> 之间的文本和 < /a>并将其放入第一组;但正如其他人所说,正则表达式可能不是这里的最佳选择。

编辑:首先将 + 更改为 *,因为 0 个字符是有效的。还删除了第二个?根据下面的评论。

关于java - 使用正则表达式从 HTML 标签中抓取文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7160273/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com