Comment puis-je écrire une expression régulière (C#) qui va vérifier une chaîne donnée pour voir si l'un de ses caractères sont des caractères autres que les éléments suivants:expression régulière .NET
az
AZ
Æ Æ Å Ø ø - '
Comment puis-je écrire une expression régulière (C#) qui va vérifier une chaîne donnée pour voir si l'un de ses caractères sont des caractères autres que les éléments suivants:expression régulière .NET
az
AZ
Æ Æ Å Ø ø - '
new Regex("[^a-zA-ZÆæÅåØø'-]")
Le []
crée une classe de caractères, puis ^
spécifie la négation, donc un match de caractère Es la classe si ce n'est pas l'un de ceux énumérés.
Le '' 'devrait être exclu aussi. – kennytm
Merci, @Kenny. –
Notez que le caractère - est le dernier de la liste. Si vous voulez exclure plus de caractères, ne les ajoutez pas après le -, mettez-les avant (ou échappez le - avec barre oblique inverse), sinon les caractères à gauche et à droite de - seront traités comme une plage de caractères. –
Vous pouvez utiliser le groupement de caractères en combinaison avec l'opérateur de négation pour y parvenir.
Vous devez également échapper le caractère - (et potentiellement le ') en utilisant un \
Votre expression finale lirait:
[^ a-zA-ZÆæÅåØø \ - \'] *
Contrairement à JavaScript, C# n'a pas d'expressions régulières dans le langage. Vous posez des questions sur les expressions régulières .NET, pas sur les expressions régulières C#. –