Ich möchte einen regulären Ausdruck haben, der prüft, ob eine Zeichenfolge nur Groß- und Kleinbuchstaben, Zahlen und Unterstriche enthält.
Ähm...Frage: Muss er mindestens ein Zeichen enthalten oder nicht? Kann es auch eine leere Zeichenkette sein?
^[A-Za-z0-9_]+$
Erfüllt mindestens einen alphanumerischen Groß- oder Kleinbuchstaben oder einen Unterstrich. Wenn die Länge Null sein kann, ersetzen Sie einfach das + durch *
^[A-Za-z0-9_]*$
Bearbeiten:
Wenn diakritische Zeichen eingeschlossen werden müssen (z. B. Cedille - ç), dann müssen Sie das Wortzeichen verwenden, das dasselbe tut wie das obige, aber die diakritischen Zeichen einschließt:
^\w+$
Oder
^\w*$
Wie wäre es damit:
^([A-Za-z]|[0-9]|_)+$
...wenn Sie explizit sein wollen, oder:
^\w+$
...wenn Sie es lieber knapp halten (Perl-Syntax).
Die folgende Regex passt auf alphanumerische Zeichen und Unterstriche:
^[a-zA-Z0-9_]+$
Zum Beispiel 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";
}