Forum Programmation.php Greedy ou es tu ?

Posté par (page perso) .
Tags : aucun
0
5
nov.
2004
Bonjour,

ya t il un moyen de préciser a php que l'ont veut rechercher un pattern mais en mode greedy ou autre ?

quand je fais (.+?) j'ai un BADRPT retourné par eregi, ce qui est assez chiant. je ne peut que mettre (.+)

Je ne connais pas trop php mais je pensais que la syntaxe des regexp etaient (au moins pour ce genre de truc) la meme partout.

Quelqu'un pour m'eclairer ?

Merci.
  • # Hum

    Posté par (page perso) . Évalué à 1.

    Je précise que je parle du mode greedy, mais c'est le mode reluctant qui m'interresse, et que php semble ne pas aimer
  • # Piste ?

    Posté par . Évalué à 4.

    Je ne vois pas trop à quoi ça sert tout ça, mais je croyais avoir lu quelque part qu'il vallait mieux utiliser les fonctions preg_* plutôt que eregi_*. As-tu essayé ?
    Les eregi_* sont d'après la doc non "binary safe", et il est conseillé d'utiliser preg, en fait, qui sont les expression régulières compatibles perl.
    I hope this helps....
  • # ça devrait marcher

    Posté par (page perso) . Évalué à 2.

    > Je ne connais pas trop php mais je pensais que la syntaxe des regexp etaient
    > (au moins pour ce genre de truc) la meme partout.

    Le principe oui, la syntaxe non. Il y a en gros deux syntaxes répandues, les POSIX (utilisées par sed par exemple) et les regexp Perl.

    Les .*? et .+? marchent sous PHP, je les utilise souvent. Mais ... en PCRE (les compatibles perl, fonction preg_*), est-ce que tu n'es pas en train d'essayer ça sous les regexp POSIX (fonctions ereg*) ?

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.