Re: Expression régulière...
Bonjour à Olivier Miakinen <om+news@miakinen.net> qui nous a écrit :
> (...)
> L'option /s (ou PCRE_DOTALL) permet de franchir les sauts de ligne.
Comme je travaille avec des chaînes sans saut de ligne, je comprend que
cela marche sans le "s"
>> Maintenant, STP, pourrais-tu décrire le rôle dévolu à chacun des
>> trois caractères ".*?", je te remercie d'avance
>
> . = n'importe quel caractère sauf les sauts de ligne (à moins de /s)
> * = répéter ce qui précède n'importe quel nombre de fois (y compris
> éventuellement 0 fois), et privilégier le résultat le plus long
> si plusieurs sont possibles.
> *? = idem * mais privilégier le résultat le plus court si plusieurs
> sont possibles.
>
> Par exemple, avec la chaîne "_DEB_xx_FIN_ uu _DEB_yy_FIN_" :
> /_DEB_.*_FIN_/ --> le « .* » trouvera "xx_FIN_ uu _DEB_yy"
> /_DEB_.*?_FIN_/ --> le « .*? » trouvera "xx", puis "yy".
Merci beaucoup ! Comme d'habitude avec toi, les explications sont
limpides et argumentées...du coup, je comprend beaucoup mieux certains
rôles particuliers de RegExp que j'ai eu l'occasion de voir
--
Cordialement, Thierry ;-)
|