Re: aide pour expression régulière

トップ ページ

このメッセージに返信
著者: sCALP
日付:  
To: guilde
題目: 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