Bonjour,
Je suis vraiment mauvais en regexp, et j'aimerais juste savoir quelle est la chaîne permettant de détecter si une chaîne est alpha numérique et/ou contient les caractères "," et/ou ";".
Merci beaucoup à vous, et bonne soirée!
Version imprimable
Bonjour,
Je suis vraiment mauvais en regexp, et j'aimerais juste savoir quelle est la chaîne permettant de détecter si une chaîne est alpha numérique et/ou contient les caractères "," et/ou ";".
Merci beaucoup à vous, et bonne soirée!
C'est une simple énumération :
Code:[a-zA-Z0-9,;]
Merci de ta réponse, mais bizzare, ceci ne marche pas :
(PHP)Code:
1
2 if(preg_match("[a-zA-Z0-9,;]","123;test,test2")) echo "OK";
Une erreur dans l'utilisation de la fonction ou de la regex ?
Non, juste que tu ne sais pas comment écrire une regexp ! :aie:Citation:
Envoyé par Rownlin
:fleche: Délimiteurs
Merci, ça semble maintenant marcher, mais pas correctement...
Ici le mot "ça marche" apparaît bien, alors qu'il ne devrait pas puisqu'il y a le caractère "@". Comment faire ?Code:
1
2
3 if(preg_match("/[a-zA-Z0-9,;]/","test;@test2;x")) echo "ça marche";
Merci
Dans l'expression "/[a-zA-Z0-9,;]/", tu indiques juste qu'il faut trouver une occurrence de lettre ou de chiffre, ce qui est bien le cas de la chaine testée.
Si tu veux que la chaine ne puisse contenir que ces caractères, alors il faut indiquer depuis le début (signe ^) jusqu'à la fin (signe $) et que ce caractère peut être présent plusieurs fois (signe +) :
Code:if(preg_match("/^[a-zA-Z0-9,;]+$/","test;@test2;x"))
Ça marche !
Merci !