3

我有一个要从中获取数据的站点,其内容布局如下:

 <p uri="/someRandomURL.p1" class="">TestData TestData TestData</p> 
 <p uri="/someRandomURL.p2" class="">TestData1 TestData1 TestData1</p>

我正在使用 Java 来获取网页的内容,并尝试像这样解析它:

        Pattern p = Pattern.compile(".*?p1' class=''>(.*?)<.*");
        Matcher m = p.matcher(data);

        //Print out regex groups to console
        System.out.println(m.group(1)) ;

但是随后抛出一个异常,说没有找到匹配项......

我的正则表达式正确吗?还有什么可能发生的?我的 html 没问题,但显然我的正则表达式不匹配......

谢谢

4

1 回答 1

0

如果文本元素包含多个文本行,则它不会找到匹配项,因为点 ( .) 不匹配\n(默认情况下)。

试试这个:

 Pattern p = Pattern.compile(".*?p1' class=''>(.*?)<.*", Pattern.DOTALL);
于 2011-04-14T19:57:22.687 回答