3

データを取得しようとしているサイトがあり、コンテンツは次のようにレイアウトされています。

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

私はJavaを使用してWebページのコンテンツを取得しており、次のように解析しようとしています:

        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 に答える