[..] StringRegExpReplace compliqué...

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Utilisateur 3309 supprimé
Status : Hors ligne

[..] StringRegExpReplace compliqué...

#1

Message par Utilisateur 3309 supprimé »

Bonjour,

j'ai une page web avec plusieurs lignes comme ca:
fichier 120.pdf
fichier 131.pdf
fichier 142.pdf
fichier 150.pdf
etc..

je voudrais faire un StringRegExpReplace qui va me remplacer toutes ces lignes par
<a href="fichier 120.pdf">fichier 120.pdf</a>
<a href="fichier 131.pdf">fichier 131.pdf</a>
<a href="fichier 142.pdf">fichier 142.pdf</a>
<a href="fichier 150.pdf">fichier 150.pdf</a>
etc..

Je suis coincé car tout ce que j'arrive a faire c'est mettre le meme nom de fichier partout, alors que le nombre lui est dynamique...
StringRegExpReplace($Value, "fichier (.*)\.pdf", "<a href="fichier 120.pdf">fichier 120.pdf</a>")
j'imagine qu'il faut utiliser le le back-reference, comme indiqué dans la doc, mais je n'ai pas bien compris.
To insert matched group text, \0 - \9 (or $0 - $9) can be used as back-references.

Merci pour votre aide.
Utilisateur 3309 supprimé
Status : Hors ligne

Re: [..] StringRegExpReplace compliqué...

#2

Message par Utilisateur 3309 supprimé »

mouhhahaah chui trop fort
en remplaçant 120 par $1 ca marche 8)

Vraiment puissant Autoit :wink:
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] StringRegExpReplace compliqué...

#3

Message par jguinch »

Impec !
Sinon, tu peux faire comme ça :

Code : Tout sélectionner

$lines = "fichier 120.pdf" & @CRLF & "fichier 131.pdf"  & @CRLF & "fichier 142.pdf" & @CRLF & "fichier 150.pdf"
$replace = StringRegExpReplace($lines, "(?m)^(.*)$", "<a href=""$1"">$1</a>")
MsgBox(0, "", $replace)
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Utilisateur 3309 supprimé
Status : Hors ligne

Re: [..] StringRegExpReplace compliqué...

#4

Message par Utilisateur 3309 supprimé »

Ha merci !

Par contre je suis embêté, j'ai simplifié le problème pour le présenter ici mais en fait comme c'est une page web j'ai des " et ' dans mon pattern de recherche et du coup le StringRegExpReplace me fait un message d'erreur a cause de ca...
comment je peux éviter le probleme ?
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] StringRegExpReplace compliqué...

#5

Message par jguinch »

Tu nous mettrais pas un petit exemple ?
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Utilisateur 3309 supprimé
Status : Hors ligne

Re: [..] StringRegExpReplace compliqué...

#6

Message par Utilisateur 3309 supprimé »

ben voila de quoi je pars:

<a href="javascript:;" title="nom de fichier" onclick="PopUpShow_2('120', false);">blablabla</a>
<a href="javascript:;" title="nom de fichier" onclick="PopUpShow_2('131', false);">blablabla</a>
<a href="javascript:;" title="nom de fichier" onclick="PopUpShow_2('142', false);">blablabla</a>
<a href="javascript:;" title="nom de fichier" onclick="PopUpShow_2('150', false);">blablabla</a>

et voilà vers quoi je vais:

<a href="fichier 120.pdf">fichier 120.pdf</a>
<a href="fichier 131.pdf">fichier 131.pdf</a>
<a href="fichier 142.pdf">fichier 142.pdf</a>
<a href="fichier 150.pdf">fichier 150.pdf</a>

Dans la page web, il y a d'autres liens qu'il ne faut pas toucher, du genre:
<a href="javascript:;" style="font-size: larger; font-weight: bold;" onclick="PopUpTrailer_2('120');">

donc j'ai fait mon regex comme ca:

StringRegExpReplace($Value, "href="javascript:;" title="(.*)" onclick="PopUpDhow_2\('(.*)', false\);">blablabla", " href="fichier $1.pdf">fichier $1.pdf")

Mais bien entendu a cause des " et ' de partout, ca fait foirer le code...
Utilisateur 3309 supprimé
Status : Hors ligne

Re: [..] StringRegExpReplace compliqué...

#7

Message par Utilisateur 3309 supprimé »

oups, si je double les " je n'ai plus d'erreur :wink: 8)

Edit:
plus d'erreur mais le Regex n'accompli plus sa tache... :?
j'utilise le PCRE Toolkit pour tester. http://autoit.mvps.org/
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] StringRegExpReplace compliqué...

#8

Message par mikell »

:?:
► Afficher le texte
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Utilisateur 3309 supprimé
Status : Hors ligne

Re: [..] StringRegExpReplace compliqué...

#9

Message par Utilisateur 3309 supprimé »

heuu....attend je vais chercher une boite de doliprane 1000 :lol: et je reviens...
Répondre