如何使用Perl regExp对句子进行计数?
|
我从一开始就出于某种原因一直在Perl中使用regExp挣扎,我在这里编写了一个快速脚本来对输入的某些文本中的句子进行计数,这是行不通的。我只是将数字1返回末尾,并且我知道在指定的文件中有几个,因此计数应该更高。我看不到这个问题...
#!C:\\strawberry\\perl\\bin\\perl.exe
#strict
#diagnostics
#warnings
$count = 0;
$file = \"c:/programs/lorem.txt\";
open(IN, \"<$file\") || die \"Sorry, the file failed to open: $!\";
while($line = <IN>)
{
if($line =~ m/^[A-Z]/)
{
$count++;
}
}
close(IN);
print(\"Sentances count was: ($count)\");
文件lorem.txt在这里......
Lorem ipsum dolor坐下来,管教着迷。 Aenean commodo ligula eget dolor。艾妮·马萨(Aenean Massa)。兼收并蓄的蒙特产,无花果和无花果。 Donec quam felis,neculies nec,pellentesque eu,pretium quis,sem。 Nulla等于massa quis enim。 Donec pede justo,fringilla vel,aliquet nec,vulputate eget,arcu。在enim justo,rhocus ut,imperdiet a,venenatis vitae,justo中。 Nullam dictum felis eu pede mollis pretium。整数Tincidunt。 Cras dapibus。 Vivamus elementum semper nisi。埃内斯(Aenean)富足的eleifendtellus。 Aenean leo ligula,porttitor eu,consequat vitae,eleifend ac,enim。 Aliquam lorem ante,dapibus,viverra quis,feugiat a,tellus。菜豆(Phasellus viverra nulla ut metus varius laoreet)。 Quisque rutrum。艾妮(Aenean)卑鄙。 Etiam ultricies nisi vel augue。 Curabitur ullamcorper菌类。 Nam eget dui。阿提姆龙鼻。雌性颞叶色菊,特鲁斯获得调味品的菱形,sem quam semper libero,坐着的sem neque sed ipsum。 Nam quam nunc,Blandit vel,luctus pulvinar,hendrerit id,lorem。 Maecenas nec odio et ante tincidunt tempus。 Donec vitae sapien ut libero venenatis faucibus。 Nullam quis ante。 Etiam坐在amet orci eget eros faucibus tincidunt。 Duis leo。塞德·贝宁·毛里斯(Sed fringilla mauris) Donec sodales矢状象。 sed consequat,leo eget bibendum sodales,augue velit cursus nunc,
没有找到相关结果
已邀请:
3 个回复
募磷
仅在该行的开头且该行的第一个字符大写时才匹配。因此,如果您的行看起来像
,它将不会被匹配。 如果要匹配所有大写字母,只需从正则表达式的开头删除
。
浩挎
谷歌搜索也出现了:Lingua :: EN :: Sentence
帆攀缺锯欧