Re: aide pour expression régulière

Page principale

Répondre à ce message
Auteur: sCALP
Date:  
À: guilde
Sujet: 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