Re: aide pour expression régulière

Pàgina inicial

Reply to this message
Autor: sCALP
Data:  
A: guilde
Assumpte: Re: aide pour expression régulière
> if ($line =~ /\s*(\w*): (.*)/) {

ce ne serait pas a cause de l'espace apres le ':' ?
il y a moyen d'etre encore plus precis sur tes recherches :

if ($line =~ /^(\w+):(.*)\s*$/) {

^ => pour matcher le debut de ligne
\w+ => pour matcher un (et un seul) mot (\w* peut preter a confusion)
.* => pour matcher la suite, sauf....
\s* => pour matcher les espaces/retours-chariots en fin de ligne
$ => pour matcher la fin de la ligne

par contre, je vois dans ton exemple que ta derniere ligne commence par
'!tiff' et '!' ne fait pas parti des composantes d'un mot pour regexp....
donc il faut que tu ecrives de la sorte :

if ($line =~ /^(!?\w+):(.*)\s*$/) {

hope this help.

sCALP