Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从沃尔玛HTML页面中提取HTML内容_Java_Regex - Fatal编程技术网

Java 从沃尔玛HTML页面中提取HTML内容

Java 从沃尔玛HTML页面中提取HTML内容,java,regex,Java,Regex,我已经写了下面的代码。我需要从下面的URL中提取价格。我正在用java编写代码。 String regEx=“.+[\n]*(\\d+(,)*\\d+[\n*][.]*[\n]*(\\d+)”; 模式p1=Pattern.compile(regEx); System.out.println(“Vikash”); 而((line=in.readLine())!=null){ sb.追加(第+行“\n”); } m=p1.匹配器(sb); 而(!m.hitEnd()){ if(m.find()){

我已经写了下面的代码。我需要从下面的URL中提取价格。我正在用java编写代码。

String regEx=“.+[\n]*(\\d+(,)*\\d+[\n*][.]*[\n]*(\\d+)”;
模式p1=Pattern.compile(regEx);
System.out.println(“Vikash”);
而((line=in.readLine())!=null){
sb.追加(第+行“\n”);
}
m=p1.匹配器(sb);
而(!m.hitEnd()){
if(m.find()){
System.out.println(“$”+m.group());
}
}

如果你不能使用API,你应该为此使用一个框架。看看

它将生成一个结构化文档,并允许您迭代ID、类、标记等

例如


findElementsByClass(“sup”)
。当我回到桌面时,我可以提供一些示例代码。

我没有得到价格。我应该是1398.00。请帮助使用jsoup jar提取html内容为什么不使用他们的API?为什么要使用正则表达式?正则表达式对于这里的工作来说显然是错误的工具。你应该使用HTML解析器,因为正则表达式不是解析HTML的正确工具。无论如何,看看,这是沃尔玛的官方开发者页面。注册,拿到钥匙,使用他们的休息服务。这样,你的应用程序将下载更少的数据,你不需要正则表达式/HTML解析器来完成这项工作。如果你用这个例子会更好。我需要提取价格1,398 . 00
String regEx = "<span\\s+class=\"sup\">.+</span>[\n]*(\\d+(,)*\\d+)[\n*]<span\\s+class=\"visuallyhidden\">[.]*</span>[\n]*<span\\s+class=\"sup\">(\\d+)";
Pattern p1 = Pattern.compile(regEx);
System.out.println("Vikash");
while ((line = in .readLine()) != null) {
    sb.append(line + "\n");

}
m = p1.matcher(sb);
while (!m.hitEnd()) {
    if (m.find()) {
        System.out.println("$" + m.group());
    }
}