Bonjour
j'essay de creer une fonction qui qui me renvoie le nombre d'occurances d'une sous chaine de N caractaires dans une chaine donnée.
je fait cela de la maniere suivante :
le probleme c'est que si je passe a cette fonction une chaine comme "abcdefgh", avec une longeure de sous chaine de 2, l'expression reguliaire me renvoie "ab" = 1, "cd"=1 ... alors que ce qu'il me faudrait c'est que l'expression reguliaire me detecte egualement le "bc" , "de" ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 sub make_histogramm{ my ($text, $size) = @_; my %result; while ($text =~ /(\S{$size})/g){ $result{$1}++; #print $1; #pour le debogage #<STDIN>; } return %result; }
Donc y a t-il une facon de faire cela uniquement avec une expression reguliaire, ou alors je devrait bidouiller un peut avec des boucles ?
Merci d'avance, j'aurait surment d'autres questions sur les expressions reguliaire, je les poserait donc ici
Partager