From: "anne aublanc" <anne.aublanc@???>
Sent: Thursday, November 14, 2002 11:05 AM
> | > La ligne que j'ai écrite pour le test :
> | > if ($ligne =~ m!(.*?);(.*?)$!gi)
je pense que vous vous compliquez un peu la tache, ou alors c moi qui ait
rate un passage....
je viens d'ecrire le bout de code suivant :
@a = ('tt\'tt\'\'tt;\'tt\'\'', 'qsdfqsfsf;sqfsfd\'sfqfssq');
for ($i=0; $i<@a; $i++) {
if ($a[$i] =~ /^(.*?);(.*?)$/) {
print "== ".$1." == ".$2." =="."\n";
}
}
et j'ai bien en sortie :
== tt'tt''tt == 'tt'' ==
== qsdfqsfsf == sqfsfd'sfqfssq ==
le 'g' en parametre de l'expression reguliere signifie 'global', pour une
recherche du motif x fois dans la meme chaine, et le 'i' permet d'etre en
case-insensitive, mais il ne concerne que les caracteres specifiés pour la
recherche, et le '.' n'est pas concerné.... a moins qu'il n'existe un
point-virgule majuscule ;-)
sCALP