Regex - nur einen String passt, wenn es keine alphabetische Zeichen enthält
Frage
Beispiel Strings
785*()&!~`a
##$%$~2343
455frt&*&*
Ich möchte die zweite die erste und die dritte, aber nicht erfassen, da es jedes Zeichen aus dem Alphabet plz help enthalten tut
Lösung
In der Tat denke ich [a-zA-Z]
könnte genügen, die Saiten entsprechen.
das Ganze zu erfassen, versuchen: ^.*[a-zA-Z].*$
Andere Tipps
Hier ist eine mögliche Art und Weise:
.*[a-zA-Z]+
Sie sollten vielleicht ein bisschen klären, was du mit ‚catpuring‘ bedeutet: wollen Sie das ganze Reihe von nur die ascii Bits wollen
?Auch sagt man nicht, ob es einfach nur lateinisches Alphabet (A bis Z) entsprechen soll, oder ob es auch Unicode-Zeichen übereinstimmen sollte Strings in anderen Sprachen entsprechen.
Wenn Sie nur die Zeichenfolge überprüft werden müssen, in C # würden Sie tun:
bool matching = Regex.IsMatch(myString, "[a-zA-Z]");
Sie würden nicht etwas anderes brauchen, da wird nur ein Brief überall in der myString
Zeichenfolge übereinstimmen (je nach Definition).
Dies ist mein Lieblings RegEx Prüfstelle: Javascript Regexp Tester und Spickzettel
Wenn Sie alle Buchstaben übereinstimmen soll (einschließlich nicht-ascii sind), verwenden p{L}
statt [a-zA-Z]
. Siehe Unicode Kategorien .