Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/382.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页面中获取特定行并放入字符串_Java_Regex_Jsoup - Fatal编程技术网

Java 从HTML页面中获取特定行并放入字符串

Java 从HTML页面中获取特定行并放入字符串,java,regex,jsoup,Java,Regex,Jsoup,我正在尝试解析此网页中的特定html区域: http://en.wikipedia.org/w/api.php?action=parse&page=Ringo_Starr&prop=text&section=0&format=txtfm&disablepp&redirects [请注意,这不是源页面,它显示html标记,但我对该页面的实际源(Ctrl+u)感兴趣] 具体而言,我希望将以下所有行开头: <span style="color:b

我正在尝试解析此网页中的特定html区域:

http://en.wikipedia.org/w/api.php?action=parse&page=Ringo_Starr&prop=text&section=0&format=txtfm&disablepp&redirects
[请注意,这不是源页面,它显示html标记,但我对该页面的实际源(Ctrl+u)感兴趣]

具体而言,我希望将以下所有行开头:

<span style="color:blue;">&lt;p&gt;</span>

注意:我在这里使用的是jsoup——但是直接正则表达式会更有效吗?

直接正则表达式可能更好。首先,请尝试以下方法:

Pattern pat=Pattern.compile("^<span style=\"color:blue;\">&lt;p&gt;</span>.+&");
Pattern pat=Pattern.compile(“^p.+&”);
这里,
^
开始行,
p
按字面匹配,然后我们有一个或多个:

正则表达式。匹配除行终止符以外的任何字符,除非指定了点所有标志


$
指定了行的结尾。

一个直接的正则表达式可能是一个更好的主意。首先,请尝试以下方法:

Pattern pat=Pattern.compile("^<span style=\"color:blue;\">&lt;p&gt;</span>.+&");
Pattern pat=Pattern.compile(“^p.+&”);
这里,
^
开始行,
p
按字面匹配,然后我们有一个或多个:

正则表达式。匹配除行终止符以外的任何字符,除非指定了点所有标志


$
指定了行的结尾。

你就不能直接写吗

System.out.println(e.nextElementSibling().text())
你还必须检查

e.attr("style").equals("color:blue;")

你就不能写吗

System.out.println(e.nextElementSibling().text())
你还必须检查

e.attr("style").equals("color:blue;")

您需要在模式参数中转义引号,它是
Pattern pat=Pattern.compile(“^p.+&”)。您的示例未编译。@反斜杠抱歉,刚刚返回。是的,我的错。太习惯于IDE为我做这件事了:/谢谢你们两个,成功了。@Hexafrance还更改了模式声明,您的模式不会编译,模式没有构造函数。您需要在模式参数中转义引号。另外,它是
pattern pat=pattern.compile(^p.+&”)。您的示例未编译。@反斜杠抱歉,刚刚返回。是的,我的错。太习惯于IDE为我做这件事了:/谢谢你们两个,成功了。@Hexafrance还更改了模式声明,您的模式不会编译,模式没有构造函数。