-
Double test
Bonjour,
Débutant avec les expressions régulières en php, je m'adresse aux habitués :ccool:
Je cherche a effectuer 2 tests sur une variable.
J'ai d'abord fait ceci :
Code:
ereg('^[3,5,6]',$mavariable)
Donc ceci test si ma $mavariable commence par 3, 5, ou 6
Je souhaite contrôler si elle fait bien 5 caractères numériques.
Je pense qu'il doit y avoir un truc du genre {5}, mais niveau syntaxique, je ne comprends pas tout.
Pourriez vous m'indiquer la bonne syntaxe ?
Merci.
-
Code:
ereg('^[356]\d{4}$',$mavariable)
^= debut de chaine
[356] = classe de caractères autorisés
\d=numérique {4} = 4 fois
attention \d comprend le séparateur decimal et les symboles positifs et négatifs du système
si tu ne veux que des chiffres:
[0-9] = intervalle de 0 à 9 autorisé
-
Merci pour la réponse :lol:
Juste ce qu'il me fallait
Par contre, je galère toujours sur la même chose.
Cette fois sur une variable : contrôler qu'elle fait 5 caractères (ni plus ni moins) alphanumériques.
J'ai tenté ceci :
Code:
ereg('[:alnum:]{4}$',$mavariable)
Apparemment je suis trop mauvais :cry:
-
Code:
ereg('[0-9a-zA-Z]{5}$',$mavariable)
pas de ; ni , ni + ni -
-
Merci.
Par contre, ca fonctionne avec 5 caractères, ou + !
Y'a-t-il moyen de contrôler ceci ?
-
desolé j'ai oublié le delimiteur de debut de chaine ,
tu auras pu le trouver avec les explications de ma première intervention :roll:
Code:
ereg('^[0-9a-zA-Z]{5}$',$mavariable)
-
Il faut donc à chaque fois mettre le délimiteur de début de chaine ! ?
En tout cas, ca fonctionne.
Merci bien.
-
pas a chaque fois, ça depend de ce que tu cherches à matcher comme pattern
matchera toute chaine contenant une suite de 5 alpha
matchera tout chaine qui commence par 5 alpha
matchera tout chaine qui finit par 5 alpha
matchera tout chaine qui commence et finit par 5 alpha docn de 5 alpha de long
-
Ah ok !!!
Des fois c'est con, tout est dit dans les documentations, mais j'ai dut passer à coté.
Le $ pour la fin de chaine, ca m'éclaircit grandement les choses ! :ccool:
Dur d'être administrateur réseau :calim2:
lol
-
Si ça peut te rassurer j'ai potassé toutes les doc que j'ai pu trouver sur le web sur les regExp mais je n'y comprenais rien ... et puis un jour il y a environ deux ans j'ai eu un déclic parce que l'on m'a expliqué 2 ou trois trucs