Perl初学者对正则表达式的问题.
以下代码成功从我的网站获取网页内容.
然后,我检查匹配模式“搜索类型:[Dir或Geo]”.我刚写的那一点不是真正的正则表达式代码,而是用于显示我想要匹配的文本.
以下是get方法实际捕获的内容的摘录(抱歉,还没有足够的声誉点来发布图像):
what: movers<br/> where: toronto<br/> search type: Dir <br/>
在“搜索类型:”和“目录”之间有选项卡和空格以及您在Word文档中看到的段落字符(紧跟在“类型:”之后).
以下是我的代码.
use strict; use warnings; use WWW::Mechanize; my $searchtype = "nothing yet"; my $mech = WWW::Mechanize->new(); my $webpage; $mech->credentials('user','password' ); foreach my $keyword qw(movers) { print "\$keyword = $keyword\n"; my $url = "http://myurl"; $mech->get($url); $webpage = $mech->content(); if ($webpage =~ /search type.+([A-Z][a-z][a-z])/) { $searchtype = $1; print "$searchtype\n"; } }
那么,为什么我的正则表达式不会是$webpage =〜/ search类型. ([A-Z] [a-z] [a-z])/捕获匹配变量$1中的“Dir”?
使我抓狂.
路易