Regex pour les non-lettres et non des chiffres
Veuillez fournir une solution à écrire une expression régulière comme suit dans C#.NET:
J'aurais besoin d'une RegEx pour les Non-lettres(a à z, A à Z) et Non des Chiffres(0 à 9).
Dire que sens inverse pour obtenir l'expression régulière autre que des alphabets et des otherthan chiffres(0 à 9).
Gentiment suggérer la solution pour la même chose.
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser un nié la classe de caractères ici:
Au-dessus de la regex va correspondre à un seul personnage qui ne peut pas être un latin minuscule ou une majuscule ou un chiffre.
La
^
au début de la classe de caractères (la partie entre[
et]
) nie l'complet de la classe afin qu'il corresponde à rien pas dans la classe, au lieu de caractère normal de la classe de comportement.De la rendre utile, vous voulez probablement l'une de celles-ci:
Zéro ou plusieurs caractères
L'astérisque (
*
) ici, signifie que la partie précédente peut être répété zéro, une ou plusieurs fois.Une ou plusieurs de ces caractères
Le plus (
+
) ici, signifie que la partie précédente peut être répété une ou plusieurs fois.Complet (éventuellement vide) de la chaîne, ne comportant que de tels personnages
Ici les caractères
^
et$
ont une signification en tant que ancres, correspondant au début et à la fin de la chaîne, respectivement. Cela garantit que l'ensemble de la chaîne est constituée de caractères qui ne sont pas dans cette classe de personnage et pas d'autres personnages viennent avant ou après eux.Complète (non vide) de la chaîne, ne comportant que de tels personnages
Élaborer un peu, ce ne sera pas (et ne peut pas) assurez-vous que vous n'utilisez pas d'autres caractères, éventuellement à partir d'autres scripts. La chaîne
аеΒ
serait tout à fait valable, avec l'expression régulière ci-dessus, parce qu'il utilise les lettres du grec et Cyrillique. De plus il y a d'autres pièges. La chaîneá
va passer au-dessus de l'expression régulière, tandis que la chaînéa
ne va pas (car il construit la lettre á partir de la lettre a et une combinaison de signe diacritique).Donc annulé les classes de caractères doivent être prises avec des soins à la fois.
Je peux aussi utiliser des chiffres à partir d'autres scripts, si je le voulais:
١٢٣
🙂Vous pouvez utiliser le caractère de classe
si vous avez besoin de prendre soin de ce qui précède choses.
simplement nier la classe:
[^A-Za-z0-9]
D'obéir à des conditions locales d'utilisation:
[\p{L&}\p{Nd}]
est un remplacement possible pour Unicode RE saveurs.