<a>很好:</a><a href=\"/huangshan-10HG-pingjia.html\">55</a><a>中等:</a><a href=\"/huangshan-10ZD-pingjia.html\">16</a><a>很差:</a><span>0</span>怎样用正则匹配出很好的评价数:55
当很好评价数为0时,<a>标签变成<span>标签,(PS:href后面的地址不确定,可能发生变动)正则
当很好评价数为0时,<a>标签变成<span>标签,(PS:href后面的地址不确定,可能发生变动)正则
String html = "<a>很好:</a><a href=\"/huangshan-10HG-pingjia.html\">55</a><a>很好:</a><span>0</span>";
Matcher m = Pattern.compile("<a>很好:</a>\\<((?i)a\\s+.+?|(?i)span)>(.+?)<").matcher(html);
while(m.find()){
System.out.println(m.group(2));
}
}
public static void main(String[] args) throws Exception {
String str = "<a>很好:</a><a href=\"/huangshan-10HG-pingjia.html\">55</a><a>中等:</a><a href=\"/huangshan-10ZD-pingjia.html\">16</a><a>很差:</a><span>0</span>";
Matcher m = Pattern.compile("很好:.*?>(\\d+)<.*").matcher(str);
if(m.find()){
System.out.println(m.group(1));
}
}
public class T {
public static void main(String[] args){
String html = "<a>很好:</a><a href=\"/huangshan-10HG-pingjia.html\">55</a><a>很好:</a><span>0</span>";
Matcher m = Pattern.compile("<a>(很好:)</a>\\<((?i)a\\s+.+?|(?i)span)>(.+?)<").matcher(html);
while(m.find()){
System.out.println(m.group(1) + m.group(3));
}
}
}
(?<=X)\\d+ 这种能匹配吗?暂时我只能从group(0)中取评论数
很好:55中等:16很差:0然后取夹在 很好: 与 中等: 之间的值
input = input.replaceAll("<.*?>", "");
input.substring(0, input.indexOf("中等:"));
那我最后的情况是:
很差:</a><span>0</span> 这样,会取不到“很差:0”吧
Matcher m=Pattern.compile("(?<=>)\\d+(?=(</a>|</span>))").matcher(s);
while(m.find())
System.out.println(m.group(0));
public static void main(String[] args){
String html = "<a>很好:</a><a href=\"/huangshan-10HG-pingjia.html\">55</a><a>很好:</a><span>0</span>";
html = html.replaceAll("<.+?>", "");
System.out.println(html);
}但是所有的都会被去掉哦