我是网页设计的新手,我目前正在为我的大学项目设计一个网站。现在,我面临的问题如下:
我使用perl从链接中提取C / C ++代码。我正在使用:
my $req = HTTP::Request->new( GET => $link );
my $response = $ua->request($req);
my $results = $response->content;
获取整个网页"结果"变量。然后,我使用以下方法删除JavaScript:
while($results=~s/<script.*?>.*?<\/script>//gsi){};
然后最后打印我正在使用的输出:
pos($results)=0;
$delim='{}';
while($results=~s/.*?($regex\s*?\(.*?\)\s*?)\{/\{/s)
{
$code=$1 . extract_codeblock($results,$delim);
print Dumper( "$code" . "\n" . "\n");
}
我的正则表达式是:
my $regex='(((int|long|double|float|void)\s*?\w{1,25})|if|while|for)';
但是这段代码没有给出输出。我的正则表达不正确。有人可以建议我一个很好的正则表达式来提取cpp代码。通过提取代码,我们的想法是在中间提取任何东西和所有东西。&#34; {&#34;和&#34;}&#34;在网页上。
答案 0 :(得分:1)
为了阅读和解析网页,我建议您使用Mojo::UserAgent
和Mojo::DOM
。两者都安装了Mojolicious
有关同时使用这两者的教程,我建议您在mojocast episode 5
观看8分钟的视频。
理想情况下,在使用网页时,内容类型应该无关紧要。相反,它放在页面上的位置应该是提取所需数据所需的唯一信息。