r3 - 09 Mar 2006 - GabrielVieira
Como contar o número de ocorrências de uma string
Problema
Você quer saber quantas vezes uma string aparece dentro de uma outra.Solução
Use uma expressão regular global e conte o número de ocorrências.Discussão
O que você pode fazer é colocar um while() ao redor de uma expressão regular de substituição global. Por exemplo, vamos contar os números inteiros negativos:
$string = "-9 55 48 -2 23 -76 4 14 -44";
while ($string =~ /-\d+/g) { $count++ }
print "There are $count negative numbers in the string";
Uma outra versão obtém o resultado da expressão regular em contexto de lista, e então atribui o resultado a um escalar, produzindo uma contagem do número de ocorrências.
$count = () = $string =~ /-\d+/g;
