Regex

Fermé
ben85350 Messages postés 610 Date d'inscription vendredi 30 mai 2008 Statut Membre Dernière intervention 2 avril 2013 - 8 déc. 2008 à 23:21
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 - 8 déc. 2008 à 23:50
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 !

1 réponse

kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
8 déc. 2008 à 23:27
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 610 Date d'inscription vendredi 30 mai 2008 Statut Membre Dernière intervention 2 avril 2013 27
8 déc. 2008 à 23:33
le ^veut donc dire inverse !
je croyait que c'était pour le début !
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527 > ben85350 Messages postés 610 Date d'inscription vendredi 30 mai 2008 Statut Membre Dernière intervention 2 avril 2013
8 déc. 2008 à 23:35
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 610 Date d'inscription vendredi 30 mai 2008 Statut Membre Dernière intervention 2 avril 2013 27 > kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016
8 déc. 2008 à 23:36
OK merci pour ton aide, je vais essayer ceci !
0
ben85350 Messages postés 610 Date d'inscription vendredi 30 mai 2008 Statut Membre Dernière intervention 2 avril 2013 27
8 déc. 2008 à 23:47
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 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527 > ben85350 Messages postés 610 Date d'inscription vendredi 30 mai 2008 Statut Membre Dernière intervention 2 avril 2013
8 déc. 2008 à 23:50
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