expressions reguliere , help ! - PHP - Programmation
Marsh Posté le 10-03-2006 à 15:48:07
je suis clairement pas un pro des regex, mais retrouver des motifs indépendamment de leur ordre d'apparition me parait compliqué.
pour que ça soit indépendamment de l'ordre dans lequel ils apparaissent, je dirais qu'il faudrait 3 regex : une pour les chiffres, une pour les lettres, une pour les caracteres spéciaux.
Si les 3 regex sont vérifiées, alors c'est bon.
Enfin bon je sens que je donne une réponse à la con qui va se faire descendre là
Marsh Posté le 10-03-2006 à 15:50:11
oui mais le truc c qu'ils sont mélangés ! J'ai oublié de le préciser !
Marsh Posté le 10-03-2006 à 15:55:11
bah oui mais ça change rien à ce que j'ai dit :
- 1ere expression : '[[: digit:]]{1}.*[[: digit:]]{1}'
et ainsi de suite
enfin bon je le répète, les regex et moi ça fait 3, même mon exemple doit être à chier, surement tout autant que ma proposition
Marsh Posté le 10-03-2006 à 16:07:22
c'est ce a quoi j'avais pensé mais ca fait lourd , et il y surement mieux
Merci de ton aide
Marsh Posté le 10-03-2006 à 16:09:02
je serai assez de l'avi de Djebel1, le faire en 3 fois semble le plus simple.
Marsh Posté le 10-03-2006 à 16:11:33
bah écoute en fait étant donné qu'il n'y a pas d'opérateurs "and" dans les regex à proprement parlé, je ne vois pas comment ça pourrait être fait autrement qu'avec 3 regex.
Marsh Posté le 10-03-2006 à 16:17:40
hum tu peux ruser en fait, tu fais un reorder sur ton string de façon à être sur d'avoir tes caractères toujours dans le même ordre. Un truc dans le genre:
Code :
|
Il doit surement exister une fonction php pour trier un string mais j'ai pas trop le temps de chercher.
Fait aussi attention a tes caractères spéciaux, peut-être ne vaut-il mieux pas utiliser \W.
Quoi qu'il en soit, tu peux le faire mais c'est ptêt pas le plus simple, maintenable et compréhensible!
Marsh Posté le 10-03-2006 à 16:19:03
ha oui, en mettant la chaine en ordre en fonction du type de catactere, ça pourrait le faire
Marsh Posté le 10-03-2006 à 16:22:18
ben ouais mais j'aurais bien voulu le faire dans les regles
Marsh Posté le 10-03-2006 à 16:24:32
je pense que c'est pas possible sans réarrangement de la chaîne. Et puis utiliser 3 regex ça me parait propre
Marsh Posté le 10-03-2006 à 16:28:11
non je veux dire c'est le procédé de traitement préalable de la chaine qui me dérange, ca doit etre faisable directement...
Marsh Posté le 10-03-2006 à 16:31:39
ça doit certainement être faisable mais quel est l'interet?
ça sera plus compliqué, plus gourmand en ressource ...
masklinn a écrit :
|
Marsh Posté le 10-03-2006 à 16:38:50
ben justement si c'est plus simple , c'est forcément moins gourmand
Marsh Posté le 10-03-2006 à 17:17:14
oui, c'est pour ça que je pense que 3 regex, c'est plus mieux que traitement de la chaine + 1 regex
Marsh Posté le 10-03-2006 à 15:41:20
salur , désirant utiliser de facon optimale les expression régulieres, je voudrais savoir comment verifier qu'une chaine contient au moins deux chiffres , trois lettres , et deux caracteres speciaux...
le pire c que j'arrive a faire des expressions complexes mais celle ci est vraiment toute con a faire...