J'aimerais disposer d'une expression régulière qui vérifie si une chaîne de caractères ne contient que des lettres majuscules et minuscules, des chiffres et des traits de soulignement.
Hum... question : Doit-il comporter au moins un caractère ou non ? Peut-il s'agir d'une chaîne vide ?
^[A-Za-z0-9_]+$
Doit comporter au moins un caractère alphanumérique majuscule ou minuscule ou un trait de soulignement. Si elle peut être de longueur nulle, il suffit de remplacer le + par *.
^[A-Za-z0-9_]*$
Editer :
Si des signes diacritiques doivent être inclus (comme la cédille - ç ;), vous devez utiliser le mot caractère qui fait la même chose que le mot ci-dessus, mais qui inclut les signes diacritiques :
^\w+$
Ou
^\w*$
La regex suivante correspond aux caractères alphanumériques et au trait de soulignement :
^[a-zA-Z0-9_]+$
Par exemple, en Perl :
#!/usr/bin/perl -w
my $arg1 = $ARGV[0];
# check that the string contains *only* one or more alphanumeric chars or underscores
if ($arg1 !~ /^[a-zA-Z0-9_]+$/) {
print "Failed.\n";
} else {
print "Success.\n";
}