Motif d'une RegExp pour extraire des données entre 2 Balises

cs_hackoo Messages postés 91 Date d'inscription mercredi 3 avril 2002 Statut Membre Dernière intervention 29 juillet 2013 - 4 janv. 2013 à 19:56
nagaD.scar Messages postés 4272 Date d'inscription samedi 8 septembre 2007 Statut Membre Dernière intervention 4 janvier 2023 - 11 oct. 2013 à 14:26
Salut
Je sollicite votre aide a propos de ce script.
Ce que je veux faire c'est juste récupérer les données comprises entre les balises <title>Données à extraire</title> et <!--mfunc-->Données à extraire<!--/mfunc-->
Donc si quelqu'un ici parmi vous a la gentillesse de me corriger la syntaxe du Motif afin d'atteindre mon but.
Merci
Dim Titre,URL,ie,objFSO,Data,OutPut,objRegex,Match,Matches
    Titre = "Notification de Giveawayoftheday © Hackoo © 2013"
    URL = "http://fr.giveawayoftheday.com/"
    Set ie = CreateObject("InternetExplorer.Application")
    Set Ws = CreateObject("wscript.Shell")
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    ie.Navigate (URL)
    ie.Visible=false
    DO WHILE ie.busy
        wscript.sleep 100
    LOOP
    Data = ie.document.documentElement.innerHTML
    ie.Quit
    Question = MsgBox(RegExp("<title>(.*?)</title>")&vbcr&vbcr&_
    " Le temps restant est :" &vbcr&vbcr&_
    RegExp("<!--mfunc-->(.*?)<!--/mfunc-->")&vbcr&vbcr&_
    "Voulez-vous accéder au site : http://fr.giveawayoftheday.com/  ?",VBYesNO+VbQuestion,Titre)
    If Question = VbYes then
        Ws.Run "http://fr.giveawayoftheday.com/",1,False
    else
        Wscript.Quit
    end if
    Set ie = Nothing
 
Function RegExp(Motif)    
Set objRegex = new RegExp
objRegex.Pattern = Motif 'Motif pour y extraire le code source
objRegex.Global = False 'une seule instance
objRegex.IgnoreCase = True 'Ignorer la casse
Set Matches = objRegex.Execute(Data) 'Execution du la RegExp
For Each Match in Matches  
    strMatchValue = Match.Value
    RegExp = strMatchValue
Next
End Function

1 réponse

nagaD.scar Messages postés 4272 Date d'inscription samedi 8 septembre 2007 Statut Membre Dernière intervention 4 janvier 2023 17
Modifié par nagashima le 11/10/2013 à 14:25
salut,

j'ai testé et le '/' doit être échappé :

<!--mfunc-->(.*?)<!--<gras></gras>/mfunc--> 


Il me semblait pourtant que ce n'était pas nécessaire ...

naga
3
nagaD.scar Messages postés 4272 Date d'inscription samedi 8 septembre 2007 Statut Membre Dernière intervention 4 janvier 2023 17
11 oct. 2013 à 14:26
Ah tiens, mon anti-slash est retiré lorsque je post ... donc à la place des balises gras, mets un anti-slash.
0
Rejoignez-nous