0
我想知道段落中有多少單詞,然後找到每個單詞出現次數。 我可以做到這一點,但是有沒有其他方法可以只使用正則表達式?捕獲一行中的所有單詞並使用Perl正則表達式計算它們的出現
my $string = "John is a good boy. John goes to school with his brother Johnny. When John is hungry, he eats his tiffin.";
my @list =();
while($string =~ /(\b\w+\b)/gi)
{
push(@list, $1);
}
my %counts;
for (@list) {
$counts{$_}++;
}
print "$#list \n";
foreach my $keys (keys %counts) {
print "$keys = $counts{$keys}\n";
}
輸出應該是
20
brother = 1
a = 1
goes = 1
is = 2
good = 1
to = 1
tiffin = 1
When = 1
boy = 1
his = 2
school = 1
Johnny = 1
he = 1
eats = 1
John = 3
with = 1
hungry = 1
你已經在使用正則表達式嗎? –
不,我的意思是使用正則表達式來計算出現次數。我正在使用list和hash。 –
你想要一個甚至不使用散列的解決方案嗎? –