0

WWW::Mechanizeで使用されるurl_regexの正しい構文がわかりません。

http://で始まるWebページからすべてのリンクを収集していますが、それらの形式は次のとおりです。

http://google.com

ではなく、

http://google.com/dir/
http://google.com/dir/dir2/

だから、私は以下を使用します:

@links=$mech->find_all_links(url_regex=>qr/^http:\/\/.*?\//)

そして、これはサブパスを含むURLをキャプチャします。

regexpal.comで正規表現をテストしましたが、正常に機能します。しかし、何らかの理由で、url_regexは異なる構文を予期しています。

ありがとう。

4

1 に答える 1

1

次を使用する必要があります。

@links=$mech->find_all_links(url_regex=>qr/^http:\/\/[^\/]*\/?$/) 

これは次のようになります。

文字列は、スラッシュ以外の文字の任意の組み合わせ(none / emptyでも)で^始まり、最後にオプションのスラッシュが続く必要があります。http://[^\/]*\/?$

于 2012-06-28T17:41:57.050 に答える