正则表达式 – 正则表达式不捕获我的网站上的文本
发布时间:2020-12-14 05:58:16 所属栏目:百科 来源:网络整理
导读:Perl初学者对正则表达式的问题. 以下代码成功从我的网站获取网页内容. 然后,我检查匹配模式“搜索类型:[Dir或Geo]”.我刚写的那一点不是真正的正则表达式代码,而是用于显示我想要匹配的文本. 以下是get方法实际捕??获的内容的摘录(抱歉,还没有足够的声誉点
Perl初学者对正则表达式的问题.
以下代码成功从我的网站获取网页内容. 以下是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 = $keywordn"; my $url = "http://myurl"; $mech->get($url); $webpage = $mech->content(); if ($webpage =~ /search type.+([A-Z][a-z][a-z])/) { $searchtype = $1; print "$searchtypen"; } } 那么,为什么我的正则表达式不会是$webpage =?/ search类型. ([A-Z] [a-z] [a-z])/捕获匹配变量$1中的“Dir”? 使我抓狂. 路易 解决方法
/./匹配除换行符之外的任何字符,除非您使用/./s.由于您想要匹配换行符,您必须添加/ s.
/search type.+([A-Z][a-z][a-z])/s 但那会找到文件的最后三个字母.你真的想要 /search type:s+([A-Z][a-z][a-z])/ (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |