【问题标题】:Help with a regex to parse through and grab contents of <p> tag in html使用正则表达式帮助解析和获取 html 中 <p> 标记的内容
【发布时间】:2011-04-14 19:52:26
【问题描述】:

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

 <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 没问题,但显然我的正则表达式不匹配......

谢谢

【问题讨论】:

标签: java html regex feedparser


【解决方案1】:

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

试试这个:

 Pattern p = Pattern.compile(".*?p1' class=''>(.*?)<.*", Pattern.DOTALL);

【讨论】:

  • 就是这样!感谢分享
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多