Ik wil graag een reguliere expressie die controleert of een string alleen hoofdletters, kleine letters, cijfers en underscores bevat.
Um...vraagje: Moet het minstens één karakter hebben of niet? Mag het een lege string zijn?
^[A-Za-z0-9_]+$
Er moet minstens één alfanumeriek teken in hoofd- of kleine letters of een underscore in staan. Als het een nul-lengte kan zijn, vervang dan de + door *
^[A-Za-z0-9_]*$
Bewerken:
Als diakritische tekens moeten worden opgenomen (zoals cedilla - ç) dan zou je het woordteken moeten gebruiken dat hetzelfde doet als het bovenstaande, maar de diakritische tekens bevat:
^\w+$
Of
^\w*$
De volgende regex komt overeen met alfanumerieke tekens en underscore:
^[a-zA-Z0-9_]+$
Bijvoorbeeld, in 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";
}