【发布时间】:2013-01-30 19:32:13
【问题描述】:
我需要从谷歌搜索中提取一个网址,我试试这个:
if($google =~ /<h3 class="r"><a href="(.*)"/i){
print "$1\n$2\n$3\n$4\n$5\n$6\n$7\n$8\n$9\n$10";
}
但是这是错的吗,请帮帮我;-)
【问题讨论】:
-
您只有一次捕获,但您正在打印第一次、第二次、第三次、...、第九次和第十次捕获的内容。
-
我……太棒了。你的手指做了我能想象的更多工作!
print join("\n",map{"$".$_}(1..10)) -
不要使用正则表达式解析 HTML。您无法使用正则表达式可靠地解析 HTML。一旦 HTML 与您的期望发生变化,您的代码就会被破坏。有关如何使用 PHP 模块正确解析 HTML 的示例,请参阅 htmlparsing.com/php.html。
-
@loldop、
"$1"和"$".1(如果不是语法错误,那就是"\$1")不一样。 ;-) -
@Qtax 是的,我需要评估,但是......他的手指疯了:)
标签: regex perl url html-parsing