gpt4 book ai didi

Java RegEx - 仅从网页中提取数字

转载 作者:行者123 更新时间:2023-11-29 08:04:24 25 4
gpt4 key购买 nike

我将一个网页转换为字符串,我试图从这一行中提取三个数字。

<td class="col_stat">1</td><td class="col_stat">0</td><td class="col_stat">1</td>

从上面的行我已经使用它提取了第一个'1'

String filePattern = "<td class=\"col_stat\">(.+)</td>";
pattern = Pattern.compile(filePattern);
matcher = pattern.matcher(text);
if(matcher.find()){
String number = matcher.group(1);
System.out.println(number);
}

现在我想做的是提取 0 和最后一个 1,但只要我尝试编辑上面的正则表达式,它只会在控制台上输出完整的网页。有人有什么建议吗??谢谢

最佳答案

正则表达式匹配是贪婪的,试试这个(只查找 (\d+) 而不是 (.+) (匹配所有内容直到最后一个 </td> ):

String text = 
"<td class=\"col_stat\">1</td>" +
"<td class=\"col_stat\">0</td>" +
"<td class=\"col_stat\">1</td>";
String filePattern = "<td class=\"col_stat\">(\\d+)</td>";
Pattern pattern = Pattern.compile(filePattern);
Matcher matcher = pattern.matcher(text);
while (matcher.find())
{
String number = matcher.group(1);
System.out.println(number);
}

在相关说明中,我完全同意其他人关于使用更结构化的方法来解释 HTML 的建议。

关于Java RegEx - 仅从网页中提取数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12262706/

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