2

Web ページの HTML ソースですべてのリンクと画像を見つける必要があります。実際には、次の式があります。

boost::regex findurl("(?s)<\\s*a\\s+.*?href\\s*=\\s*['\"]([^http]{1}[^\\s>]*)['\"]", boost::regex::normal | boost::regbase::icase);

画像 ( タグ ) も検索するのはどのように見えるでしょうか?

4

2 に答える 2

4

Perl を学び、HTML::Parser を使用するのにかかる時間は、病的な HTML では機能しないこの正規表現をデバッグするよりも短くなります。あなたが画像について質問しているだけだとしても、私はすでに 3 つのリンクのバグを見つけています。

これにはサンプル コードが含まれており、Perl を知らなくても変更方法を理解できるでしょう。 http://perlmeme.org/tutorials/html_parser.html

于 2012-05-22T21:51:15.363 に答える
0

文字クラス ( ) で文字を繰り返すことは[^http]正しくないようです。djechlin は、RE では不十分である可能性が高いという点を指摘していますが、最も単純な HTML ではそうです。

于 2012-05-22T22:14:50.363 に答える