Je veux valider que les caractères sont alphanumériques:
Regex aNum = Regex("[a-z][A-Z][0-9]");
Je veux ajouter l'option qu'il pourrait y avoir un espace blanc, donc ce serait une expression à deux mots:
Regex aNum = Regex("[a-z][A-Z][0-9]["\\s]");
mais n'a pas pu trouver la syntaxe correcte.
id appliquer toute incitation.
[A-Za-z0-9\s]{1,}
devrait fonctionner pour vous. Il correspond à n'importe quelle chaîne qui contient des caractères alphanumériques ou des espaces et a au moins un caractère. Si vous acceptez les traits de soulignement, vous les raccourcissez également en [\w\s]{1,}
.
Vous devez ajouter ^ et $ pour vérifier les correspondances de chaîne entières et pas seulement une partie de la chaîne:
^[A-Za-z0-9\s]{1,}$
ou ^[\w\s]{1,}$
.
"[A-Za-z0-9\s]*"
correspond aux caractères alphanumériques et aux espaces. Si vous voulez un mot qui peut contenir des espaces mais voulez vous assurer qu'il commence et se termine par un caractère alphanumérique, vous pouvez essayer
"[A-Za-z0-9][A-Za-z0-9\s]*[A-Za-z0-9]|[A-Za-z0-9]"
Exactement deux mots avec un seul espace:
Regex aNum = Regex("[a-zA-Z0-9]+[\s][a-zA-Z0-9]+");
OU n'importe quel nombre de mots ayant un nombre quelconque d'espaces:
Regex aNum = Regex("[a-zA-Z0-9\s]");
Pour ne pas autoriser les chaînes vides alors
Regex.IsMatch(s ?? "",@"^[\w\s]+$");
et pour autoriser les chaînes vides
Regex.IsMatch(s ?? "",@"^[\w\s]*$");
J'ai ajouté le ?? "" car IsMatch n'accepte pas les arguments nuls
Si vous souhaitez vérifier l'espace blanc au milieu de la chaîne, vous pouvez utiliser ces modèles:
"(\w\s)+"
: cela doit correspondre au moins à un mot avec un espace blanc."(\w\s)+$"
: cela doit correspondre au moins à un mot avec un espace blanc et doit se terminer par un espace blanc."[\w\s]+"
: cette correspondance pour Word ou un espace blanc ou les deux.