IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

regex + match vb.net


Sujet :

VB.NET

  1. #1
    Membre confirmé
    Inscrit en
    Novembre 2010
    Messages
    150
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 150
    Par défaut regex + match vb.net
    Bonjour,
    j'essaye d'extraire certains donnees d'un httpreponse
    alors j'utilise les regex + la propriété match

    j'utilise le syntaxe suivant
    Code vb.net : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim myregex As New Regex("<title>(.*)</title>")


    pour extraire le titre pas exemple
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <title>titre page</title>
    est cela marche bien

    le probleme c'est quand j'essaye d'extraire une partie de code avec 2 ligne cela marche pas parcqu il contient une retour a la ligne je pense

    par exemple

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <td class="val"><img class="a3" src="img/x.gif" alt="alt" title="titel" />  
         500    </td>


    code utilise :
    Code vb.net : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim myregex As New Regex("<td class=""val"">(.*)</td>")



    deuxieme chose la propriété match renvoie q'une seul match, la premiere , donc comment faire pour avoir tous

  2. #2
    Membre Expert Avatar de meziantou
    Homme Profil pro
    autre
    Inscrit en
    Avril 2010
    Messages
    1 223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : autre
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2010
    Messages : 1 223
    Par défaut
    Pour répondre à ta question: il faut préciser lors de la construction de l'expression rationnelle les options à utiliser:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    New Regex("<title>(.*)</title>", RegexOptions.Singleline)
    Pour avoir tout les résultats il faut utiliser la méthode Matches


    Cependant c'est une mauvaise idée d'utiliser les Regex pour parser du HTML. Il existe des outils spécialement concus pour cela, autant les utiliser
    http://htmlagilitypack.codeplex.com/

  3. #3
    Membre confirmé
    Inscrit en
    Novembre 2010
    Messages
    150
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 150
    Par défaut
    je suis a la recherche d'une bonne tutorial sur HTMLAgilityPack en francais si cela ne derange pas
    j'ai bien cherche sur le net mais je trouve pas

  4. #4
    Membre Expert Avatar de meziantou
    Homme Profil pro
    autre
    Inscrit en
    Avril 2010
    Messages
    1 223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : autre
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2010
    Messages : 1 223
    Par défaut
    Malheureusement il n'y a pas de tuto en français
    2 solutions :
    Ou tu apprends l'anglais (indispensable)
    Ou tu utilises google traduction pour traduire les pages

  5. #5
    Membre confirmé
    Inscrit en
    Novembre 2010
    Messages
    150
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 150
    Par défaut
    OK mais j'arrive pas a utilise cette reference
    qunad j'ajoute le le dll est je test avec le code en desssous
    une fentre s'ouvre avec l 'erreur suivante


    Code vb.net : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Imports HtmlAgilityPack
     
      Dim doc = New HtmlAgilityPack.HtmlDocument
            doc.LoadHtml(reponse)
            Dim output=doc.DocumentNode.SelectSingleNode("//div[@id='rate']").InnerHtml

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 19/03/2012, 20h45
  2. [Regex] match un header XML
    Par hannibal.76 dans le forum Débuter
    Réponses: 4
    Dernier message: 16/03/2012, 14h05
  3. Problème fonction Regex.Matches(,).Count
    Par maxwel56 dans le forum Silverlight
    Réponses: 4
    Dernier message: 21/06/2010, 14h49
  4. [Regex]Match d'une regexp avec une chaîne avec caractères spéciaux
    Par gdawirs dans le forum Collection et Stream
    Réponses: 13
    Dernier message: 25/11/2005, 12h24
  5. [Regex] Matching...
    Par billynirvana dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 18/07/2005, 17h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo