Aide et conseils concernant AutoIt et ses outils.
wowtop
Niveau 1
Messages : 9 Enregistré le : lun. 11 avr. 2011 14:06
Status :
Hors ligne
#1
Message
par wowtop » sam. 16 avr. 2011 18:36
Bonjour à tous,
Je reviens solliciter votre aide pour les patterns car je bloque. Je voudrais récupérer le nombre 365 dans la chaine suivante en évitant si possible les espaces...
Je recherche un résultat du style :
$resultat = StringRegExp($source, '<div class="best tip" id="summary-averageilvl-best" data-id="averageilvl">((?s).*)</div>', 3)
Code : Tout sélectionner
<div class="rest">
Niveau moyen des objets<br />
(<span class="equipped">362</span> : équipement actuel)
</div>
<div id="summary-averageilvl-best" class="best tip" data-id="averageilvl">
365
</div>
</div>
</div>
<div class="summary-top-inventory">
Merci encore à vous
Modifié en dernier par
wowtop le sam. 16 avr. 2011 21:03, modifié 1 fois.
matwachich
Membre émérite
Messages : 986 Enregistré le : lun. 19 oct. 2009 04:04
Localisation : Algérie
Status :
Hors ligne
#2
Message
par matwachich » sam. 16 avr. 2011 20:16
Pourquoi faire simple alors qu'on peut faire compliqué!
Code : Tout sélectionner
#include <String.au3>
$s = '<div class="rest">' & @CRLF
$s &= ' Niveau moyen des objets<br />' & @CRLF
$s &= ' (<span class="equipped">362</span> : équipement actuel)' & @CRLF
$s &= ' </div>' & @CRLF
$s &= ' <div id="summary-averageilvl-best" class="best tip" data-id="averageilvl">' & @CRLF
$s &= ' 365' & @CRLF
$s &= ' </div>' & @CRLF
$s &= ' </div>' & @CRLF
$s &= '' & @CRLF
$s &= ' </div>' & @CRLF
$s &= ' ' & @CRLF
$s &= ' <div class="summary-top-inventory">'
$s = StringReplace($s, @CRLF, "") ; on supprime les espaces et les @CRLF
$s = StringReplace($s, " ", "") ;
$r = _StringBetween($s, 'lvl">', '</div>')
ConsoleWrite($r[0] & @CRLF)
jchd
AutoIt MVPs (MVP)
Messages : 2284 Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status :
Hors ligne
#3
Message
par jchd » sam. 16 avr. 2011 20:49
Pour un pattern ciblant cet item précis :
Code : Tout sélectionner
$resultat = StringRegExp($source, '<div id="summary-averageilvl-best" class="best tip" data-id="averageilvl">\s*(\d+)\s*</div>', 1)
Aussi, la partie "class= n'était pas au bon endroit dans le pattern.
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
wowtop
Niveau 1
Messages : 9 Enregistré le : lun. 11 avr. 2011 14:06
Status :
Hors ligne
#4
Message
par wowtop » sam. 16 avr. 2011 21:44
merci à vous deux
j'ai adapté
Code : Tout sélectionner
$resultat = StringRegExp($source, '<div class="best tip" id="summary-averageilvl-best" data-id="averageilvl">\s*(\d+)\s*</div>', 3)
wowtop
Niveau 1
Messages : 9 Enregistré le : lun. 11 avr. 2011 14:06
Status :
Hors ligne
#5
Message
par wowtop » dim. 17 avr. 2011 11:37
toujours dans le même style mais si je veux récupérer "Andraste"
mais en sachant que j'ai d'autre balises <a href=....>...</a> dans le reste de ma source, peut on trouver un en déclarant la balise <div class="guild"> dans le pattern
Code : Tout sélectionner
<div class="title-guild">
<div class="title"> </div>
<div class="guild">
<a href="/wow/fr/guild/dalaran/andraste/?character=turrican">Andraste</a>
</div>
</div>
Merci d'avance