请帮我定义一个perl正则表达式

Iva*_*ang 1 regex perl web-crawler

我对一切都很陌生.请帮忙.我正试图抓住每一个

<div class="name"><a href="/v/name/idlike123123ksajdfk">name</a></div>
Run Code Online (Sandbox Code Playgroud)

在网页中.我想要抓住/ v/name/idlike123123ksajdfk部分.(知道了

<div class="name"><a href="/v/
Run Code Online (Sandbox Code Playgroud)

部分是固定的)所以我写了正则表达式(可以让你笑):

~m#<div class="name"><a href="(/v/.*?)">#
Run Code Online (Sandbox Code Playgroud)

如果你纠正我的愚蠢代码将是非常有帮助的.

dax*_*xim 6

使用强大的HTML解析器(请参阅http://htmlparsing.com/了解原因):

use strictures;
use Web::Query qw();
my $w = Web::Query->new_from_html(<<'HTML');
<div class="name"><a href="/v/name/idlike123123ksajdfk">name</a></div>
<div class="name"><a href="/v/name/idlike123123ksajdfk">name</a></div>
<div class="name"><a href="/v/name/idlike123123ksajdfk">name</a></div>
<div class="name"><a href="/v/name/idlike123123ksajdfk">name</a></div>
<div class="name"><a href="/v/name/idlike123123ksajdfk">name</a></div>
HTML

my @v_links = $w->find('div.name > a[href^="/v/"]')->attr('href');
Run Code Online (Sandbox Code Playgroud)