0

我不确定 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 需要不同的语法。

谢谢。

4

1 回答 1

1

你应该使用:

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

内容如下:

字符串必须以除斜杠以外的任意字符组合(甚至没有/空)^开头,最后是可选的斜杠。http://[^\/]*\/?$

于 2012-06-28T17:41:57.050 回答