我知道 HTML:Parser 是一回事,通过阅读,我意识到尝试使用正则表达式解析 html 通常是一种次优的做事方式,但是对于 Perl 类,我目前正在尝试使用正则表达式(希望只是一个匹配)来识别和存储保存的 html 文档中的句子。最终,我希望能够计算出句子的数量、单词/句子以及页面上单词的平均长度。
目前,我只是尝试隔离“>”之后和“.”之前的内容,只是为了看看它隔离了什么,但我无法让代码运行,即使在操作正则表达式时也是如此。所以我不确定问题是在正则表达式中,还是在其他地方,或者两者兼而有之。任何帮助,将不胜感激!
#!/usr/bin/perl
#new
use CGI qw(:standard);
print header;
open FILE, "< sample.html ";
$html = join('', <FILE>);
close FILE;
print "<pre>";
###Main Program###
&sentences;
###sentence identifier sub###
sub sentences {
@sentences;
while ($html =~ />[^<]\. /gis) {
push @sentences, $1;
}
#for debugging, comment out when running
print join("\n",@sentences);
}
print "</pre>";