我有一个网站,我试图从中获取数据,内容的布局如下:
<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好了,但显然我的正则表达式没有匹配......
由于
答案 0 :(得分:0)
如果文本元素包含多个文本行,则找不到匹配项,因为点(.
)与\n
不匹配(默认情况下) )。
尝试一下:
Pattern p = Pattern.compile(".*?p1' class=''>(.*?)<.*", Pattern.DOTALL);