Le 11/07/2008 01:56, Etienne SOBOLE a écrit :
désolé de poser cette question ici, mais je sais pas ou la mettre
En l'absence d'un groupe consacré aux expressions régulières, ces
questions ont traditionnellement été acceptées dans ce groupe pourvu
qu'il s'agisse quand même de leur usage à travers PHP.
je cherche l'expression regulière qui compte un motif précis répété
succéssivement
genre j'ai la chaine
abcx2x2x2x2x2x2pq
je cherche a compte les motif x2
j'aimerai transformer cette chaine en
abc#6pq
indiquant pas la que j'ai 6 fois le motif recherché!
voila.
ca se fait ca avec une expression régulière ???
Il y a plusieurs méthodes possibles, utilisant selon le cas preg_match
ou preg_match_all + preg_replace, ou preg_replace seul, ou peut-être
preg_replace_callback.
Pour te répondre, je voudrais savoir d'abord :
1) Est-ce que le x2 peut se trouver à plusieurs endroits dans la chaîne,
et doit-il être traité à chaque fois ? Par exemple :
abcx2x2x2defx2x2pq -> abc#3defx2x2pq ou abc#3def#2pq ?
2) Dans le cas ci-dessus, est-il gênant de regrouper les comptes ?
abcx2x2x2defx2x2pq -> abc#5defpq
3) Y a-t-il des caractères ou des séquences de caractères que tu es sûr
de ne jamais rencontrer, et qui peuvent servir temporairement (y compris
par exemple le caractère #) ?
4) Est-ce que tu peux connaître une limite au nombre de x2 ?