Regex - Ne correspond à une chaîne que si elle contient des caractères alphabétiques
Question
exemple de chaînes
785*()&!~`a
##$%$~2343
455frt&*&*
Je veux capturer le premier et le troisième mais pas le second car il ne contient aucun caractère alphabet plz help
La solution
En fait, je pense que [a-zA-Z]
pourrait suffire à correspondre à vos chaînes.
Pour tout capturer, essayez: ^. * [a-zA-Z]. * $
Autres conseils
Voici un moyen possible:
.*[a-zA-Z]+
Vous devriez peut-être clarifier un peu ce que vous entendez par «capture»: voulez-vous que toute la chaîne de bits ascii?
De même, vous ne dites pas s'il doit correspondre uniquement à l'alphabet latin (A à Z) ou s'il doit également correspondre à des caractères Unicode afin de faire correspondre les chaînes dans d'autres langues.
Si vous avez juste besoin de tester votre chaîne, vous ferez en C #:
bool matching = Regex.IsMatch(myString, "[a-zA-Z]");
Vous n'avez besoin de rien d'autre, car une seule lettre dans la chaîne myString
correspondra (selon votre définition).
Ceci est mon site de test RegEx préféré: Javascript testeur d'expressions rationnelles .
Si vous souhaitez faire correspondre toutes les lettres (y compris les lettres non ascii), utilisez p {L}
au lieu de [a-zA-Z]
. Voir Catégories Unicode .