Page 1 sur 1

[..] Besoin d'aide sur StringRegExp ...

Posté : mar. 20 avr. 2010 15:17
par snaileater
bonjour,
je cherche à utiliser StringRegExp pour aller chercher le contenu de balises HTML <li>, ce contenu se répartissant sur plus d'une ligne.
j'utilise la formule suivante :

Code : Tout sélectionner

^<li>(\s|.)*?^</li>
Cela fonctionne sans problème dans mes éditeurs de texte. Je précise comme vous le voyez dans la formule que je souhaite que ces deux balises <li> soient situées sur un début de ligne.

Le problème est que je n'arrive pas à trouver la bonne syntaxe pour AutoIt.

J'ai testé des trucs comme

Code : Tout sélectionner

(?U)(?m)^<li>(.|\s)*^</li>
mais j'ai systématiquement un plantage d'AutoIt ...
pour illustration

Code : Tout sélectionner

(?U)(?m)^<li>(.|\s)*</li>
fonctionne ... mais ne fait bien sur pas ce que j'attends initialement (les deux li en début de ligne...)

Quelle est la bonne syntaxe ?

Merci pour votre aide ...

Re: Besoin d'aide sur StringRegExp ...

Posté : mar. 20 avr. 2010 17:09
par SagePourpre
Ce méga-tutoriel peut peut-être te permettre de mieux comprendre stringregexp
http://www.regular-expressions.info/tutorialcnt.html

Personnellement, je dois relire l'aide chaque fois que je travaille avec les expressions
régulières, ma mémoire refusant de mémoriser les rouages de cette fonction.

Aussi, édite ton premier message et rajoute la balise [..] pour signifier que ton message
n'est pas résolu et [R] lorsqu'il sera résolu.


edit : Je viens de trouver ceci : http://www.weitz.de/regex-coach/
qui semble très intéressant ...

Re: [..] Besoin d'aide sur StringRegExp ...

Posté : mar. 20 avr. 2010 19:46
par snaileater
J'ai testé regex-coach et je remarque que mon expression le fait planter aussi ... comme autoIt ... alors que dans tous les éditeurs de texte dans lesquels je la teste je n'ai aucun problème ... mais je ne vois toujours pas pourquoi ...

Re: [..] Besoin d'aide sur StringRegExp ...

Posté : mar. 20 avr. 2010 21:27
par moutelous
Bonsoir,

Regardez donc le pattern donné dans l'exemple de l'aide de StringRegExp, il correspond à votre besoin.

De plus, je vous conseil d'utiliser StringRegExpGui.au3 (voir le Tutorial - Regular Expression dans l'aide ....)

A+

Re: [..] Besoin d'aide sur StringRegExp ...

Posté : mar. 20 avr. 2010 21:28
par SagePourpre
Utilises-tu ScItE comme environnement de travail ?
Sinon je te le recommende chaudement...

Quant à moi,

Code : Tout sélectionner

$stringtocheck = 'Mouette morte dans mon lit'
$sre = StringRegExp($stringtocheck,'(?U)(?m)^<li>(.|\s)*^</li>')
fonctionne très bien chez moi. Ayant laissé le flag par défaut ( Return 1 if match, 0 if no match ), j'obtiens
0 suite à l'exécution de cette fonction...

Bref, aucune erreur de mon côté...