Re: aide pour expression régulière

Startseite

Nachricht beantworten
Autor: sCALP
Datum:  
To: guilde
Betreff: 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