JeuWeb - Crée ton jeu par navigateur
Expression reguliere - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : Expression reguliere (/showthread.php?tid=4577)



Expression reguliere - Wells - 06-02-2010

Bonjour à tous, j'aimerais savoir si qq'un sais pour quoi ce code me renvoie 1 (vraie)

Code PHP :
<?
echo ereg('[A-ZÉÈÊËÔÖÎÏÛÜÙÂÄÀÇ a-zéèêëôöîïûüùâäàç]','gdf4');
?>

Moi pas comprendre Smile


RE: Expression reguliere - azerwhite - 06-02-2010

Tu sais que les ereg sont deprécié tu devrais utiliser les preg_match!
De plus, je pense que si tu nous disons ton but cela permettrait de mieux ce mettre en jambe!
Sinon pour ta question
http://fr2.php.net/manual/fr/function.ereg.php voici la page de php manual que tu dois connaitre!

Perso, ca fait bizarre de voir un espace entre les caractères majuscules et les minuscules! et je vois pas à quoi te serve les crochets ici!
Le vrai doit correspondre au faite qu'il trouve bien bien les caractères de ton pattern dans ta string que tu envoies en para . . . mais cette string ne devrait pas être une variable ?

azerwhite


RE: Expression reguliere - julp - 06-02-2010

Je ne vois pas ce qu'il y a de bizarre dans le résultat obtenu dans la mesure où il est demandé de trouver un caractère parmi ceux-ci : ABCDEFGHIJKLMNOPQRSTUVWXYZÉÈÊËÔÖÎÏÛÜÙÂÄÀÇ abcdefghijklmnopqrstuvwxyzéèêëôöîïûüùâäàç dans la chaîne d'origine. Manque-t-il les ancres et une précision quand au nombre d'occurrence attendu ?

Code :
echo preg_match('~^[A-ZÉÈÊËÔÖÎÏÛÜÙÂÄÀÇ a-zéèêëôöîïûüùâäàç]+$~D', 'gdf4') ? 'TRUE' : 'FALSE';
Pour une chaîne pouvant uniquement être composée de ces mêmes caractères (au moins un), ce qui est totalement différent.

PS : à voir, mais avec une locale adéquate, il devrait être possible de simplifier l'expression (~[[:alpha:] ]+~Di).


RE: Expression reguliere - azerwhite - 07-02-2010

Preg_match ne retourne qu'une fois! C'est preg_match_all qui permet de regrouper tous les occurrences dans un tableau


RE: Expression reguliere - julp - 07-02-2010

Ok, je crois que je n'ai pas pigé le but.

Si c'est de la validation, preg_match est parfaitement adapté (strict équivalent, non déprécié, d'ereg).

Par contre, si c'est pour compter le nombre de caractères compris dans cette classe, preg_match_all est bien une solution.


RE: Expression reguliere - Wells - 08-02-2010

J'avais effectivement oublier le +. j'ai résolut mon soucie via cette chaine:

ereg("^[A-ZÉÈÊËÔÖÎÏÛÜÙÂÄÀÇ a-zéèêëôöîïûüùâäàç]+$",$_POST[login])

je vérifie que la chaine ne soit composé que des caractères donner dans l'expr reg.

ais je tt bon? ^^


RE: Expression reguliere - azerwhite - 08-02-2010

Tiens je ne sais pas si tu connais mais ça permet de tester les exp rég: http://www.annuaire-info.com/outil-referencement/expression-reguliere/


RE: Expression reguliere - srm - 08-02-2010

Moi je préfère http://gskinner.com/RegExr/ Smile


RE: Expression reguliere - azerwhite - 09-02-2010

(08-02-2010, 10:52 PM)oxman a écrit : Moi je préfère http://gskinner.com/RegExr/ Smile
Oui, mais le flex c'est long à charger sur la machine du boulot !
mauahahahahah