Aide avec les regex

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Aide avec les regex

par Ryle » 20 déc. 2007, 12:07

Et si tu collais ta parenthèse capturante sur la lettre seulement ? (sans inclure le quantificateur j'entends) :
"/((a)+b?(c)+)/"
peux pas l'tester, mais en théorie tu devrais récupérer chaque "a", et rien ne t'empêche si tu veux l'ensemble également d'en coller deux paires : ((a)+)

par Berzemus » 20 déc. 2007, 11:32

A la limite, tu peux changer l'ordre de la variable de résultat avec les flags. (pêtit lien)

Re: Aide avec les regex

par Vaedan » 19 déc. 2007, 21:40

Je m'attendrais aux retours suivants, mais j'ai toujours les chaînes maximales
Euh le retour obtenu correspond bien à ton regex !
Est-ce possible de demander à PHP de retourner les sous-chaînes valides? J'ai dû louper un truc...
Non ça n'est pas possible, du moins pas à ma connaissance !

Aide avec les regex

par PatrickDrouin » 17 déc. 2007, 23:44

Bonjour,

Je n'arrive pas à bien cerner ce que preg_match_all me retourne. Voici le code :
$str="aabcc";
$pattern="/((a+)b?(c+))/";

preg_match_all($pattern,$str,$matches);
print_r($matches[0]);
Je m'attendrais aux retours suivants:

Code : Tout sélectionner

a aa c cc abc aabc abcc aabbcc
Mais j'ai toujours les chaînes maximales :

Code : Tout sélectionner

Array ( [0] => Array ( [0] => aabcc ) [1] => Array ( [0] => aabcc ) [2] => Array ( [0] => aa ) [3] => Array ( [0] => cc ) )
Est-ce possible de demander à PHP de retourner les sous-chaînes valides? J'ai dû louper un truc...

Merci!
Patrick