Bonsoir !
Je suis sur une regex qui me casse la cabeza... Je suis pas un pro des expressions régulières, mais j'arrive toujours à m'en sortir et finalement à trouver.
Hors, celà fait 2 jours que je pense qu'à celle là, et là ca devient trop obsessionnelle, donc j'ai besoin d'aide ^^.
Voici un panel d'exemple de string cible :
<a href="http://www.lebon.com/test/de/accueil/index.html>
<a href="http://www.lebon.com/fr/accueil/index.html>
<a href="http://www.lebon.com/accueil/index.html>
<a href="test/it/accueil/index.html>
<a href="jessaye/nimportequoi/test/pt/accueil/patati/patata/kaisoif.html>
<a href="images/accueil/index.html>
<a href="http://www.lemauvais.com/test/de/accueil/index.html>
J'aimerais donc modifier le mot accueil en home. Mais j'ai plusieurs conditions :
- si http dans le href alors que http://www.lebon.com
- accueil est forcément précéde de : /(de?|es?|it?|nl?|pt?|gb?|fr?)/
- si il y a un mot dans le href commencant par imag* je ne prends pas en compte.
Dans mes exemples les n° 1, 2, et 4 sont bons pas les autres.
J'ai commencé par essayer de faire un match et de voir ensuite comment prendre qu'une partie :
<a href="(http://www.lebon.com/?)(.*)/(:?fr?|gb?|de?|es?|it?|nl?|pt?)/accueil/
Mais çà m'a embrouillé plus qu'autre chose et je tourne en rond :s
Si un regex guru passe par là et a du temps ca me ferait bien plaisir ^^
Merci beaucoup !
Yudao.
Partager