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

Signaler
Messages postés
94
Date d'inscription
mercredi 3 avril 2002
Statut
Membre
Dernière intervention
29 juillet 2013
-
nagaD.scar
Messages postés
4265
Date d'inscription
samedi 8 septembre 2007
Statut
Membre
Dernière intervention
29 août 2018
-
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

Messages postés
4265
Date d'inscription
samedi 8 septembre 2007
Statut
Membre
Dernière intervention
29 août 2018
16
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
nagaD.scar
Messages postés
4265
Date d'inscription
samedi 8 septembre 2007
Statut
Membre
Dernière intervention
29 août 2018
16
Ah tiens, mon anti-slash est retiré lorsque je post ... donc à la place des balises gras, mets un anti-slash.