Bonjour,

En Perl, Je cherche l'expression régulière qui me renverrait OK si la chaine soumise contient autre chose que SCTPCM ou SCTREVE ou SCTSGN

exemples (la chaine commence tjrs par un espace) :

" TOTO" ==> OK
" SCTPCM SCTSGN SCTREVE" ==> KO
" SCTREVE SCTPCM SCTRDI" ==> OK (SCTRDI)
" SCTREVE SCTPCM" ==> KO
" SCTSGN" ==> KO
" SCTSGR" ==> OK (SCTSGR)

j'ai essayé avec les classes complémentées
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
if ($Source =~ m/ [^(SCTPCM|SCTREVE|SCTSGN)]/)
    {$controleSource="OK";}
else
    {$controleSource="KO";}
mais cela ne fonctionne pas, le test réussit toujours

Comment faire ?