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 :

Cherche tutoriel en VB sur le REGEX


Sujet :

VB.NET

  1. #1
    Membre habitué
    Profil pro
    Etudiant
    Inscrit en
    Mars 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Mars 2012
    Messages : 12
    Par défaut Cherche tutoriel en VB sur le REGEX
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Dim request As System.Net.HttpWebRequest = System.Net.HttpWebRequest.Create("http://millenium-servers.com/voter.php")
            Dim response As System.Net.HttpWebResponse = request.GetResponse
     
            Dim sr As System.IO.StreamReader = New System.IO.StreamReader(response.GetResponseStream())
     
            Dim rssourcecode As String = sr.ReadToEnd
     
            Dim r As New System.Text.RegularExpressions.Regex("")
            Dim matches As MatchCollection = r.Matches(rssourcecode)
     
            For Each itemcode As Match In matches
     
                ListBox1.Items.Add(itemcode.Value.Split("""").GetValue(5))
    Voici mon code de regex, sauf c'est que j'aimerais au lieux de listbox1 mettre label1 et dans mon regex jais rien mi parce que je savais pas quoi mettre parce que mon code c'est sa <span style="color:#e87505" class="pointsM_value">1</span> donc si vous avez une petite idée merci.

    Cordialement

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Déjà, essaie de clarifier ce que tu veux faire, parce que là c'est un peu le jeu des devinettes...

    Tu as une introduction aux regex en VB ici :
    http://plasserre.developpez.com/cour...age-vb2#LV-E-4

    Et un cours beaucoup plus détaillé (en C#) ici :
    http://stormimon.developpez.com/dotn...ns-regulieres/

    Mais de toutes façons, les regex ne sont pas très adaptées pour parser du HTML. Pour des cas très simples ça peut aller, mais tu vas te heurter assez rapidement aux limitations pour les cas plus complexes. Il vaut mieux utiliser un outil spécialisé comme HTML Agility Pack

  3. #3
    Membre habitué
    Profil pro
    Etudiant
    Inscrit en
    Mars 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Mars 2012
    Messages : 12
    Par défaut
    Bonjour,

    Déjà merci de votre réponse, j'ai trouver un code le voici.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
            Dim sString As String = "<span style=""color:#e87505"" class=""pointsM_value"">9</span>"
            Dim sStart As String = "<span style=""color:#e87505"" class=""pointsM_value"">"
            Dim sEnd As String = "</span>"
     
            Label5.Text = GetBetweenRegex(sString, sStart, sEnd)
        End Sub
        Private Function GetBetweenRegex(ByVal sString As String, ByVal sStart As String, ByVal sEnd As String) As String
            Dim oRegex As New Regex(sStart & "(.+?)" & sEnd)
            Dim oMatch As Match = oRegex.Match(sString)
     
            If oMatch.Success = True Then
                Return oMatch.Groups(1).ToString()
            End If
            Return Nothing
        End Function
    Le problème c'est que il ne m'affiche point le nombre de " point M " que je dispose mes le nombre que j'ai écrit par défaut 9 et non le nombre que je possède c'est à dire 2.

    Donc voila si vous avez une petite réponse merci

    Cordialement

  4. #4
    Membre émérite Avatar de -N4w4k-
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2011
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2011
    Messages : 545
    Par défaut
    Bonjour,

    Est ce que ça ça pourrait faire?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
            Dim txt = "<span style=""color:#e87505"" class=""pointsM_value"">9</span>"
            txt += "<span style=""color:#e87505"" class=""pointsM_value"">"
            txt += "</span>"
     
            Dim myRegex = New Regex("pointsM_value")
            Dim matches As MatchCollection = myRegex.Matches(txt)
            MsgBox(matches.Count)

  5. #5
    Membre habitué
    Profil pro
    Etudiant
    Inscrit en
    Mars 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Mars 2012
    Messages : 12
    Par défaut
    Merci je te remercie beaucoup sa fonctionne

    Mais mais jais une autres question je voudrais afficher un autre regex avec une autre valeur différentes chez pas si tu vois ce que je veux dire voici son code.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <span style="color:#e87505">0</span>

  6. #6
    Membre émérite Avatar de -N4w4k-
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2011
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2011
    Messages : 545
    Par défaut
    Citation Envoyé par mrfrag Voir le message
    je voudrais afficher un autre regex avec une autre valeur différentes
    Alors a vrai dire.. non je ne vois pas ce que tu veux rechercher

  7. #7
    Membre habitué
    Profil pro
    Etudiant
    Inscrit en
    Mars 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Mars 2012
    Messages : 12
    Par défaut
    Hum je sais pas comment tros l'expliquer

    Parce que la il m'affiche 2 point pour avoir un point il me faut 10 votes donc il me faudrait afficher le nombre de point votes je sais pas si je me suis bien exprimé

    Cordialement,

  8. #8
    Membre émérite Avatar de -N4w4k-
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2011
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2011
    Messages : 545
    Par défaut
    Hmm je n'ai toujours pas compris..

    pour avoir un point il me faut 10 votes
    Veux-tu compter le nombre de vote connaissant le nombre de point?
    Si c'est ça, c'est des maths d'école primaire (nombre_de_vote = nombre_de_point * 10)

    Que veut tu faire exactement?

  9. #9
    Membre habitué
    Profil pro
    Etudiant
    Inscrit en
    Mars 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Mars 2012
    Messages : 12
    Par défaut
    C'est assez dur a expliquer :S

    En gros je veux crée une autres REGEX mes avec cette span la chez pas si ta compris.

    <span style="color:#e87505">0</span>

  10. #10
    Membre émérite Avatar de -N4w4k-
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2011
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2011
    Messages : 545
    Par défaut
    Si tu ne veux pas chercher une chaine de caractere en particulier, ni dans un texte particulier (soyons fou ), tu peux faire une fonction..
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
        Sub Main()
     
            Dim txt = "<span style=""color:#e87505"" class=""pointsM_value"">9</span>"
            txt += "<span style=""color:#e87505"" class=""pointsM_value"">"
            txt += "</span>"
     
            Dim i As Integer = CountStringInText(txt, "pointsM_value")  'resultat 2
            i = CountStringInText(txt, "span")  'resultat 4
     
        End Sub
     
        Private Function CountStringInText(ByVal alltext As String, ByVal textpart As String) As Integer
            Dim myRegex = New Regex(textpart)
            Dim matches As MatchCollection = myRegex.Matches(alltext)
            Return matches.Count
        End Function

  11. #11
    Membre habitué
    Profil pro
    Etudiant
    Inscrit en
    Mars 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Mars 2012
    Messages : 12
    Par défaut
    Huummm

    Il aurais pas moyen de faire pareille que l'autres de t'alheur

  12. #12
    Membre émérite Avatar de -N4w4k-
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2011
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2011
    Messages : 545
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
            Dim txt As String = "<span style=""color#e87505"">0</span>"
     
            Dim myRegex = New Regex("QUEL_TEXTE VEUX TU RECHERCHER_??")
            Dim matches As MatchCollection = myRegex.Matches(txt)
            Dim i = matches.Count
    Si c'est ça que tu veux, tu n'avais qu'à remplacer le texte...


    PS: C'est super dur pour moi de t'aider si je ne parviens pas à comprendre ce que tu veux.. Essaie de bien mettre par écrit tes problèmes, dans ce post ou dans les prochains, sinon on mettra toujours 10 fois plus de temps que nécessaire!

  13. #13
    Membre habitué
    Profil pro
    Etudiant
    Inscrit en
    Mars 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Mars 2012
    Messages : 12
    Par défaut
    Enfaite le texte que je recherche sera dynamique un coup sera 1,2,3,4,5,6,7,8, et 9 il n’ira pas plus loin que 9

  14. #14
    Membre émérite Avatar de -N4w4k-
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2011
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2011
    Messages : 545
    Par défaut
    C'est la couleur que tu veux ? => "color#e87505"
    tu veux identifier le nombre??

    PS: je dois partir dans quelques minutes. Si je ne peux pas maintenant, je réessaierai de t'aider dans une petite heure..

  15. #15
    Membre habitué
    Profil pro
    Etudiant
    Inscrit en
    Mars 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Mars 2012
    Messages : 12
    Par défaut
    Identifier le nombre et l'afficher dans mon label

  16. #16
    Membre émérite Avatar de -N4w4k-
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2011
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2011
    Messages : 545
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
            Dim txt As String = "<span style=""color#e87505"">0</span>"
     
            Dim myRegex = New Regex("color#e[0-9]+") 'ou [0-9]{5} si il y a toujours 5 nombres
            Dim matches As MatchCollection = myRegex.Matches(txt)
     
            For Each Match As Match In matches
                Dim str As String = Match.Value
     
                Dim iStr As String = str.Replace("color#e", "")     'valeur de type String
                Dim i As Integer = Integer.Parse(iStr)              'valeur de type Integer
     
            Next
    Quand on se comprend ça va mieux

    A+

  17. #17
    Membre habitué
    Profil pro
    Etudiant
    Inscrit en
    Mars 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Mars 2012
    Messages : 12
    Par défaut
    Merci Mais il dise que la variable local est deja utiliser et je voudrais aussi l'afficher dans un label

    Sinon sa marche j'ai enlever l'autre code et je l'est tester ( en Gros il fonctionne )

    Cordialement

  18. #18
    Membre émérite Avatar de -N4w4k-
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2011
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2011
    Messages : 545
    Par défaut
    Cela veut dire qu'une des variables du code que je t'ai pondu possède le même nom qu'une de celle déjà présente dans ton code. Identifie la, et change son nom.

    Je ne connais pas le nom de ton label donc je ne pourrais pas te donner le code exact.. cependant, tu peux adapter ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
            Dim txt As String = "<span style=""color#e87505"">0</span>"
     
            Dim myRegex = New Regex("color#e[0-9]+") 'ou [0-9]{5} si il y a toujours 5 nombres
            Dim matches As MatchCollection = myRegex.Matches(txt)
     
            For Each Match As Match In matches
                Dim str As String = Match.Value
     
                Dim iStr As String = str.Replace("color#e", "")     'valeur de type String
                je_ne_connais_pas_le_nom_de_ton_label.Text = iStr
     
            Next
    Je ne saurais trop de conseiller de parcourir le très bon Cours VB.NET par Philippe Lasserre afin de connaitre le minimum requis pour pouvoir réaliser une application de base. Tu trouveras plein de choses très utiles dont tu pourras t'inspirer par la suite.

  19. #19
    Membre habitué
    Profil pro
    Etudiant
    Inscrit en
    Mars 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Mars 2012
    Messages : 12
    Par défaut
    Dans mon label sa me marque pointMvalue WTF ??

  20. #20
    Membre habitué
    Profil pro
    Etudiant
    Inscrit en
    Mars 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Mars 2012
    Messages : 12
    Par défaut
    Voila mon code au pire ^^

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    '<-- Afficher le nombre de point M -->'
            Dim txt = "<span style=""color:#e87505"" class=""pointsM_value"">9</span>"
            txt += "<span style=""color:#e87505"" class=""pointsM_value"">"
            txt += "</span>"
     
            Dim myRegex = New Regex("pointsM_value")
            Dim matches As MatchCollection = myRegex.Matches(txt)
     
            Label5.Text = (matches.Count)
     
     
            '<-- Afficher les nombre de point vote -->'
            Dim txxt As String = "<span style=""color#e87505"">9</span>"
     
            Dim myyRegex = New Regex("color#e[0-9]+") 'ou [0-9]{5} si il y a toujours 5 nombres
            Dim maatches As MatchCollection = myyRegex.Matches(txxt)
     
            For Each Match As Match In matches
                Dim str As String = Match.Value
     
                Dim iStr As String = str.Replace("color#e", "")     'valeur de type String
                Label6.Text = iStr
     
            Next

Discussions similaires

  1. Réponses: 1
    Dernier message: 14/03/2008, 14h23
  2. [3.0] Cherche tutoriel et/ou infos sur WCF
    Par Bluedeep dans le forum Windows Communication Foundation
    Réponses: 2
    Dernier message: 29/11/2007, 12h41
  3. Cherche tutoriels sur les listes
    Par the jocker dans le forum C
    Réponses: 1
    Dernier message: 11/11/2007, 12h51
  4. Cherche prof particulier cours sur les regex à Paris
    Par zegilooo dans le forum Demandes
    Réponses: 0
    Dernier message: 23/10/2007, 14h14
  5. Cherche tutoriel installation de Sybase sur Debian
    Par The Wretched dans le forum Sybase
    Réponses: 4
    Dernier message: 22/03/2006, 17h29

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