Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1770 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  expressions reguliere , help !

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

expressions reguliere , help !

n°1322834
the_bigboo
Posté le 10-03-2006 à 15:41:20  profilanswer
 

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...

mood
Publicité
Posté le 10-03-2006 à 15:41:20  profilanswer
 

n°1322845
Djebel1
Nul professionnel
Posté le 10-03-2006 à 15:48:07  profilanswer
 

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à :D

n°1322847
the_bigboo
Posté le 10-03-2006 à 15:50:11  profilanswer
 

oui mais le truc c qu'ils sont mélangés ! J'ai oublié de le préciser !

n°1322853
Djebel1
Nul professionnel
Posté le 10-03-2006 à 15:55:11  profilanswer
 

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


Message édité par Djebel1 le 10-03-2006 à 15:55:28
n°1322869
the_bigboo
Posté le 10-03-2006 à 16:07:22  profilanswer
 

c'est ce a quoi j'avais pensé mais ca fait lourd , et il y surement mieux ;)
Merci de ton aide :jap:

n°1322871
fluminis
Posté le 10-03-2006 à 16:09:02  profilanswer
 

je serai assez de l'avi de Djebel1, le faire en 3 fois semble le plus simple.


---------------
http://poemes.iceteapeche.com - http://www.simuland.net
n°1322873
Djebel1
Nul professionnel
Posté le 10-03-2006 à 16:11:33  profilanswer
 

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.

n°1322876
anapajari
s/travail/glanding on hfr/gs;
Posté le 10-03-2006 à 16:17:40  profilanswer
 

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 :
  1. $a="3GDE6TG9 FD3-";
  2. $b = str_split($a);
  3. sort($b);
  4. $b = implode( $b,'');
  5. if ( preg_match('/\W{2,}\d{2,}\w{2,}/', $b)) {
  6.     print 'OK';
  7. }


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!

n°1322877
Djebel1
Nul professionnel
Posté le 10-03-2006 à 16:19:03  profilanswer
 

ha oui, en mettant la chaine en ordre en fonction du type de catactere, ça pourrait le faire

n°1322883
the_bigboo
Posté le 10-03-2006 à 16:22:18  profilanswer
 

ben ouais mais j'aurais bien voulu le faire dans les regles :/

mood
Publicité
Posté le 10-03-2006 à 16:22:18  profilanswer
 

n°1322888
Djebel1
Nul professionnel
Posté le 10-03-2006 à 16:24:32  profilanswer
 

je pense que c'est pas possible sans réarrangement de la chaîne. Et puis utiliser 3 regex ça me parait propre

n°1322897
the_bigboo
Posté le 10-03-2006 à 16:28:11  profilanswer
 

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...

n°1322908
anapajari
s/travail/glanding on hfr/gs;
Posté le 10-03-2006 à 16:31:39  profilanswer
 

ça doit certainement être faisable mais quel est l'interet?  
ça sera plus compliqué, plus gourmand en ressource ...
 

masklinn a écrit :

Citation :

'Some people, when confronted with a problem, think "I know, I'll use regular expressions".  Now they have two problems.'  -- Jamie Zawinski, comp.lang.emacs


n°1322920
the_bigboo
Posté le 10-03-2006 à 16:38:50  profilanswer
 

ben justement si c'est plus simple , c'est forcément moins gourmand ;)

n°1322975
Djebel1
Nul professionnel
Posté le 10-03-2006 à 17:17:14  profilanswer
 

oui, c'est pour ça que je pense que 3 regex, c'est plus mieux que traitement de la chaine + 1 regex


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  expressions reguliere , help !

 

Sujets relatifs
Excel : Fonction? Programmation ? Macro ? Help me Please !!!![Newbie] Help Mise à jour site en Php
[Very Newbies] include help 2[Very Newbies] include help
Help MySQL tri par nombre d'occurrencesMini Souci d'expression réguliére
Expressions régulièresExpression reguliere dans une variable...
Traduction en sql help !!Expressions régulières
Plus de sujets relatifs à : expressions reguliere , help !


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR