Re: aide pour expression régulière

Página Principal

Responder a esta mensagem
Autor: sCALP
Data:  
Para: guilde
Assunto: 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