Mon probleme et le suivant:
j'ai une variable $texte
je ve verifier qu'elle ne contient que du texte
j'ai penser a un truck du style :
"[:alpha:]^[a-z]$"
mais bon je ne conprent pas du tous comment sa s'utilise
Mon probleme et le suivant:
j'ai une variable $texte
je ve verifier qu'elle ne contient que du texte
j'ai penser a un truck du style :
"[:alpha:]^[a-z]$"
mais bon je ne conprent pas du tous comment sa s'utilise
Je vous recommande de prendre le temps de lire des tutoriels très bien expliqué pour cela, comme : Initiation aux expressions régulières en PHP.
Le métacaractère ^ n'est, a priori, pas à sa place dans votre regexp puisqu'il marque un début de chaîne (ou ligne). Il aurait plutôt sa place en début. On en arrive donc à quelque chose comme :
Cette expression régulière assure que $texte n'est constitué que (grâce aux ancres ^ et $) de caractères minuscules (classe [a-z]) sachant qu'il en faut au moins un (présence du métacaractère + succédant cette classe).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 $texte = 'azerty82'; if (preg_match('#^[a-z]+$#', $texte)) { echo 'OK'; } else { echo 'KO'; }
Libre à vous de compléter cette classe en fonction de votre contrôle (exemple pour les chiffres et minuscules : [a-z0-9] qui remplacerait [a-z]).
Julp.
je reconnait que sa marche parfaitement
merci beaucoup
mais pour se qui est des explications je te donne 2/10![]()
non en faite merci beaucoup mais c'est de ma faute surement car je comprent pas
si quelqu'un veut bien prendre le temps de m'explique tous les symbols et pourquoi on les utilisent dans se sans et pas dans un autre merci
Bonjour,
Bon, je vais tenter d'etre plus pedagogue (mais ca n'est pas dit !).
On a l'expression suivante :
#^[a-z]+$#
qui veut dire qu'on cherche le motif qui est compris entre les deux #. Ici les # ne sont que des délimiteurs.
Ensuite regardons [a-z] : je cherche UN caractère qui est dans l'intervalle a-z (a, b, c, ... OU z). Le + qui le suit remplace le UN caractère par AU MOINS UN caractère.
Ensuite le ^ veut dire : la chaine commence par.
le $ veut dire: la chaine se termine par.
On peut donc traduire l'expression : je cherche une chaine qui ne contient que des caracteres alphabétiques (entre a et z) et au moins un. Elle ne peut contenir QUE des caracteres alphabétiques, car elle doit commencer ET finir par des caractères alphabétiques.
J'espère que tu n'es pas pas plus embrouillé !!
Sohnic
la oui c'est parfait toi tu a droit a 12/10
oui tu est un bon prof ou je suis moin debille que je le croyer ou un peut des deux
merci a+
Merci pour le compliment, mais pas de reconversion envisagée pour autant !
Je reconnais que les expressions regulieres, c'est pas ce qu'il y a de plus facile à manipuler surtout si on ne les pratique pas souvent.
Bon dev,
S.
Partager