我编写了一个使用正则表达式的小Perl脚本来获取网站的HTML组件。
我知道这不是一种好的方式来完成这种工作,但我想测试一下我的正则表达式技能。
当使用while循环中的两个正则表达式模式之一运行时,它可以完美地运行并显示正确的输出。但是当我尝试在while循环中检查两个模式时,第二个模式每次都匹配,导致循环无限运行。
我的脚本:
#!/usr/bin/perl -w
use strict;
while (<STDIN>) {
while ( (m/<span class=\"itempp\">([^<]+)+?<\/span>/g) ||
(m/<font size=\"-1\">([^<]+)+?<\/font>/g) ) {
print "$1\n";
}
}
我正在使用样本输入测试上述脚本:
<a href="http://linkTest">Link title</a>
<span class="itempp">$150</span>
<font size="-1"> (Location)</font>
期望输出:
$150
(Location)
感谢您!非常感谢您的帮助!
..
匹配块。 - matthias krull