我不确定WWW :: Mechanize中使用的url_regex的正确语法是什么。
我正在从一个以http://开头的网页收集所有链接,它们的格式如下:
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需要不同的语法。
感谢。
答案 0 :(得分:1)
您应该使用:
@links=$mech->find_all_links(url_regex=>qr/^http:\/\/[^\/]*\/?$/)
的内容如下:
字符串必须以^
开始http://
,后跟除斜杠[^\/]*
以外的任意组合(甚至没有/空),后跟可选的斜杠\/?
$
。