[R] Demande de pattern

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
wowtop
Niveau 1
Niveau 1
Messages : 9
Enregistré le : lun. 11 avr. 2011 14:06
Status : Hors ligne

[R] Demande de pattern

#1

Message par wowtop »

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.
Avatar du membre
matwachich
Membre émérite
Membre émérite
Messages : 986
Enregistré le : lun. 19 oct. 2009 04:04
Localisation : Algérie
Status : Hors ligne

Re: [..] Demande de pattern

#2

Message par matwachich »

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)
Sortons VW du coté obscure! - La curiosité est un vilain défaut! Cliquez ici
Avatar du membre
jchd
AutoIt MVPs (MVP)
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

Re: [..] Demande de pattern

#3

Message par jchd »

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
Niveau 1
Messages : 9
Enregistré le : lun. 11 avr. 2011 14:06
Status : Hors ligne

Re: [R] Demande de pattern

#4

Message par wowtop »

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
Niveau 1
Messages : 9
Enregistré le : lun. 11 avr. 2011 14:06
Status : Hors ligne

Re: [R] Demande de pattern

#5

Message par wowtop »

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">&#160;</div>
                        <div class="guild">
                            <a href="/wow/fr/guild/dalaran/andraste/?character=turrican">Andraste</a>
                        </div>
                </div>
 
Merci d'avance
Répondre