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

Windows Forms Discussion :

[VB.net][vs2005] Problème avec les expressions régulières


Sujet :

Windows Forms

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 137
    Points : 38
    Points
    38
    Par défaut [VB.net][vs2005] Problème avec les expressions régulières
    bonjour.
    j'arrive pas à récupérer les nombres négatifs avec les expressions régulières.
    ([0-9]+) j'ai ajouté un tiret : [-][0-9]+ mais sa ne marche pas ...

  2. #2
    Membre éprouvé Avatar de guitoux1
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 011
    Points : 1 256
    Points
    1 256
    Par défaut
    (-([0-9]+)) peut-être

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 137
    Points : 38
    Points
    38
    Par défaut
    sa marche pas toujours

  4. #4
    Membre éprouvé Avatar de guitoux1
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 011
    Points : 1 256
    Points
    1 256
    Par défaut
    pourtant je viens de tester et ça marche. Fait voir ton code ainsi que la string en entrée sur laquelle tu veux effectuer ta recherche STP

  5. #5
    Membre éprouvé Avatar de guitoux1
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 011
    Points : 1 256
    Points
    1 256
    Par défaut
    Précision, même ça : fonctionne chez moi

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 137
    Points : 38
    Points
    38
    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
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
      Dim regexp As String = "[^:]*\s(-([0-9]+))\|([0-9]+)@[^\[]*\[([0-9]+)\|([0-9]+)[\[\w]"
     
     
            Do
     
                If str = ligne.IndexOf("BO_") Then
                    ligne2 = SR.ReadLine()
                    tabS1 = Split(ligne2, "SG_")
                    If tabS1.Length > 1 Then
                        tabS2 = Split(tabS1(1), ":")
                        If tabS2.Length > 1 Then
                            donnée = tabS2(0)
                            SW.WriteLine("Dim" & donnée & " as integer")
                        End If
                    End If
                    If (rg.IsMatch(ligne2)) Then
                        For Each g In rg.Match(ligne2).Groups
                            For Each c In g.Captures
                                position_bit = rg.Match(ligne2).Groups(1).Value()
                                length = rg.Match(ligne2).Groups(2).Value()
                            Next c
                        Next g
                    End If
     
                    'MsgBox(position_bit)
                    'MsgBox(length)  
     
                    pos_bit_final = ((position_bit + 1) / 8) - 1
                    If ((position_bit + 1) Mod 8) = 0 And length = 8 Then
                        SW.WriteLine(donnée & "=CInt(tempRxCanMsg.m_bData(" & pos_bit_final & "))")
                        SW.WriteLine("")
                    ElseIf length < 8 Then
                        SW.WriteLine(donnée & "=CInt(findData(tempRxCanMsg.m_bData(" & (position_bit \ 8) & ")," & position_bit Mod 8 & "," & length & "))")
                        'ElseIf length > 8 And ((position_bit + 1) Mod 8) = 0 Then
                        '    SW.WriteLine(donnée & "=CInt(findData(tempRxCanMsg.m_bData(" & (position_bit \ 8) & ")," & position_bit & "))")
                    End If
                End If
            Loop Until chaine <> ligne2.IndexOf(" SG_")
     
            SR.Close()
            SW.Close()
        End Sub

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 137
    Points : 38
    Points
    38
    Par défaut
    mais j'ai rien sa m'affiche des 0:


    Dim Acceleration_V as integer
    Acceleration_V =CInt(findData(tempRxCanMsg.m_bData(0),0,0))
    Dim Acceleration_H as integer
    Acceleration_H =CInt(findData(tempRxCanMsg.m_bData(0),0,0))
    Dim Jauge_carburant as integer
    Jauge_carburant =CInt(findData(tempRxCanMsg.m_bData(0),0,0))
    Dim Angle_Volant as integer
    Angle_Volant =CInt(findData(tempRxCanMsg.m_bData(0),0,0))

    normalement sa doit marcher et afficher plusieurs nombres..

  8. #8
    Membre éprouvé Avatar de guitoux1
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 011
    Points : 1 256
    Points
    1 256
    Par défaut
    Tiens c'est toi ça faisait longtemps.

    Bon bref, j'ai repris mon code qui marchais bien pour ton PB, j'ai juste comme toi ajouter le "-" sur le premier chiffre à récupérer pour prendre en compte le fait qu'il soit négatif, et ça fonctionne. Même avec ton expression régulière.

    Donc ton PB vient d'ailleur (peut-être du code qui suit, mais moi le VB.Net....)

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 137
    Points : 38
    Points
    38
    Par défaut
    peut être !

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 137
    Points : 38
    Points
    38
    Par défaut
    mais sa t'affiche vraiment les nombres négatifs?

  11. #11
    Membre éprouvé Avatar de guitoux1
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 011
    Points : 1 256
    Points
    1 256
    Par défaut
    ben oui, même les positif et les négatifs si je change :

    (-[0-9]+) en (-[0-9]+|[0-9]+)

  12. #12
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 137
    Points : 38
    Points
    38
    Par défaut
    sa marche toujours pas et sa me dégoute..
    en fait le problème c'est quand je lis les lignes et extraire les nombres il ya parfois des nombres négatifs et des fois non sa dépend des informations... donc j'ai écris sa dans le code pour le regex:
    *\[-]([0-9]+)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim regexp As String = "[^:]*\s *\[-]([0-9]+)\|([0-9]+)@[^\[]*\[([0-9]+)\|([0-9]+)[\[\w]"
    mais je sais pas si c'est bon ou pas ...

  13. #13
    Membre éprouvé Avatar de guitoux1
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 011
    Points : 1 256
    Points
    1 256
    Par défaut
    La regexp pour un nombre négatif OU positif (ici seulement pour le premier chiffre), c'est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "[^:]*\s(-[0-9]+|[0-9]+)\|([0-9]+)@[^\[]*\[([0-9]+)\|([0-9]+)[\]\w]*"
    Le code qui dit positif OU négatif, c'est:

  14. #14
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 137
    Points : 38
    Points
    38
    Par défaut
    ok merci je vais tester et dsl pour le dérangement...

Discussions similaires

  1. Problème avec les expressions régulières
    Par philouelgeek dans le forum Langage
    Réponses: 13
    Dernier message: 16/02/2010, 08h33
  2. [RegEx] problème avec les expression régulières
    Par Medmidou dans le forum Langage
    Réponses: 1
    Dernier message: 02/10/2007, 18h35
  3. Problème avec les expression régulière
    Par fouyou dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 04/07/2007, 18h19
  4. [C#] problème avec les expressions régulières
    Par luimême dans le forum C#
    Réponses: 1
    Dernier message: 13/06/2007, 15h44
  5. Problème avec les expressions régulières
    Par Premium dans le forum Collection et Stream
    Réponses: 11
    Dernier message: 18/06/2006, 16h41

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