Regex

ben85350 Messages postés 622 Statut Membre -  
kilian Messages postés 8854 Statut Modérateur -
Bonjour,
Je voudrait faire un regex qui verifie que mon champ ne contient pas de chiffre
j'ai essayé ceci "[a-z-A-Z_.-]" mais si je rentre un chiffre en 2 position par exemple il de détecte rien ...
Merci de votre aide !
A voir également:

1 réponse

kilian Messages postés 8854 Statut Modérateur 1 526
 
Salut,

Pas de tiret au milieu: [a-zA-Z_.-]

Et ajoute un + pour dire qu'il y a plusieurs éléments: [a-z-A-Z_.-]+

Mais je pense que l'idéal, au lieu de proposer ce qui n'est pas un chiffre, c'est d'interdire les chiffres:
[^0-9]+
0
ben85350 Messages postés 622 Statut Membre 27
 
le ^veut donc dire inverse !
je croyait que c'était pour le début !
0
kilian Messages postés 8854 Statut Modérateur 1 526 > ben85350 Messages postés 622 Statut Membre
 
Ca signifie début dans un contexte normal d'expression régulière:

"^je suis un debut d'expression"

Mais entre crochets, ça signifie "tout ce qui n'est pas"
0
ben85350 Messages postés 622 Statut Membre 27 > kilian Messages postés 8854 Statut Modérateur
 
OK merci pour ton aide, je vais essayer ceci !
0
ben85350 Messages postés 622 Statut Membre 27
 
Bon !
je viens d'essayer ceci (je suis en c#)
Regex verifString = new Regex("[a-zA-Z_.-]+");

le problème est que seule la première lettre est prise en compte. J'ai vu que le $ servait aussi, j'ai donc essayé ceci
Regex TextString = new Regex("[a-zA-Z_.-]$");

La pas de problème de position mais si je fini ma chaine par une lettre autorisée rien n'est détecté...
bizarre
0
kilian Messages postés 8854 Statut Modérateur 1 526 > ben85350 Messages postés 622 Statut Membre
 
T'aurais pas un espace qui traîne?
T'es sûr que dans ton champs ya que ce que t'as mis entre crochets? Et avec [^0-9]+ ça marche?
0