Page 2 sur 2

Re: [R] Utiliser les expressions régulières

Posté : ven. 21 janv. 2011 07:30
par FernandG
Bonjour,

Je viens d'essayer avec le code que je vous avais donné :

Code : Tout sélectionner

$sVal = StringRegExp($source, 'heading1black">(\d{0,3}\,?\d{0,3}\.\d{5})(\sMil)?(\sBil)?', 3)
et cela fonctionne sans souci :?: :wink:

Pensez à changer aussi cette ligne de code, pour vérifier:

Code : Tout sélectionner

    msgbox(0,"***","MoneyFrom :"& $devise[$MoneyFrom][1] &@CRLF& "MoneyTo :"&$devise[$MoneyTo][0] &@CRLF& $devise[9][0] &@CRLF& $devise[$MoneyTo][1] &@CRLF&$sVal[0])
 
Ou remplacer votre $sVal par $sVal[0] en fin de ligne.

Bonne journée.
AutoItement.

Re: [R] Utiliser les expressions régulières

Posté : ven. 21 janv. 2011 20:44
par bloodwolff
Ce n'étais pas moneyfrom à mettre dans la règle mais moneyTo
► Afficher le texte

Re: [R] Utiliser les expressions régulières

Posté : sam. 22 janv. 2011 15:40
par pierrotm777
Alors là , je suis stupide !

J'aurais le même besoin mais pour cette ligne:

Code : Tout sélectionner

<br />Page generated [color=#FF0000]14:09 London 22/01/2011[/color]<br clear="all" />
Je souhaiterais avoir la partie en rouge dans une variable, que la fonction puisse retourner, par exemple $sDate

Re: [R] Utiliser les expressions régulières

Posté : sam. 22 janv. 2011 16:02
par bloodwolff
Tu veux un truc qui va souvent te sauver la vie avec les regexp !
Met .+? dans les endroits qui varie. Et tu mets entre parenthèse la partie que tu veux capturer. Ça te fera des petits pattern basique mais qui fonctionneront. Donc avec ton pattern sa donnerait

Code : Tout sélectionner

<br />(.+?)<br clear="all" />

Re: [R] Utiliser les expressions régulières

Posté : sam. 22 janv. 2011 16:20
par pierrotm777
Ah super , oui c'est ce que je souhaite.
Voici le résultat:

Code : Tout sélectionner

$sDate = Stringregexp($source, '<br />Page generated(.+?)<br clear="all" />', 3 )
Merci beaucoup !

Re: [R] Utiliser les expressions régulières

Posté : sam. 22 janv. 2011 16:31
par FernandG
Bonjour,

La solution de bloodwolff est valable mais trop généraliste à mon goût, car les tag "BR" sont trop fréquents dans le code source d'une page web. Par chance et après vérification, un seul résultat sera retourné dans ce cas. Il faut intégrer un autre critère de recherche plus précis et unique. Dans votre cas, Page generated vera l'affaire :wink:

En partant de votre exemple de base, essayer le code suivant :

Code : Tout sélectionner

#Include <Inet.au3>

Global $MoneyFrom = 1
Global $MoneyTo = 9
Global $Value = 10

MsnMoney()

Func MsnMoney()
    Local $sUrl = "http://uk.moneycentral.msn.com/investor/market/crncconverter.asp?iCurIdFrom="&$MoneyFrom&"&iCurIdTo="&$MoneyTo&"&dAmt="&$Value
    $sSource = _INetGetSource($sUrl)
    If @error Then Return SetError(1)
    $date = StringRegExp($sSource, '>Page\sgenerated\s([^<]+)<', 3)
    MsgBox(0, "***", $date[0])
EndFunc
Bon après midi.
AutoItement.

Re: [R] Utiliser les expressions régulières

Posté : sam. 22 janv. 2011 17:00
par bloodwolff
Oui mais j'essayais juste de lui donner une façon simple d'y arriver par la suite :)