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 : Aide pour construire un Pattern [Débutant]


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2012
    Messages
    640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mars 2012
    Messages : 640
    Par défaut Regex : Aide pour construire un Pattern
    Bonsoir à tous,
    j'ai ce soucis depuis 3 jours, j'ai déja construit plein de Regex mais celui-ci me pose problème (j'insiste sur l'utilisation impérative d'un Regex) :
    Je voudrais extraire la chaîne suivante :
    Valeur 10
    issue de la chaîne complète :
    Valeur 10 ; Toto ; Titi ; Tata ;
    Autrement dit je considère que tout ce qui est avant le 1er caractère ";" est la chaîne à extraire (tous ce qui est après est du commentaire).

    Merci à vous si vous pouvez m'aider.

  2. #2
    Membre Expert
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Billets dans le blog
    7
    Par défaut
    Citation Envoyé par BasicZX81 Voir le message
    Bonsoir à tous,
    j'ai ce soucis depuis 3 jours, j'ai déja construit plein de Regex mais celui-ci me pose problème (j'insiste sur l'utilisation impérative d'un Regex) :
    Je voudrais extraire la chaîne suivante :

    issue de la chaîne complète :


    Autrement dit je considère que tout ce qui est avant le 1er caractère ";" est la chaîne à extraire (tous ce qui est après est du commentaire).

    Merci à vous si vous pouvez m'aider.
    Bonsoir,

    C'est complètement absurde de vouloir utiliser un pattern RegEx pour faire cela, puisqu'un simple appel de la méthode Split sur la chaine permettrait de faire aisément la même chose en un temps défiant toute concurrence !

    PS : A moins qu'il subsiste une règle que tu ne nous a pas préciser concernant : un nombre défini de caractères ";" dans la chaîne !

    Brefff voilà comment je procéderais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim str = "Valeur 10 ; Toto ; Titi ; Tata ;"
     
    If str.contains(";") Then
        Msgbox(str.Split(";")(0).Trim)
    End If
    A+

  3. #3
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2012
    Messages
    640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mars 2012
    Messages : 640
    Par défaut
    Merci pour la réponse,
    en effet difficile de justifier pourquoi j'utilise le Regex, disons que je n'ai pas qu'un seul cas et je souhaite faire du code générique, lisible et facilement adaptable (plutôt que de faire des branchements conditionnels compliqués pour détecter des caratères clés ou manipuler des chaines...etc) même si je dois sacrifier un peu les performances.
    C'est juste un choix de ma part, pas une obligation .

    Mais faute de solution j'ai utilisé un Split puisque je sait que "Valeur 10" est toujours le premier élément donc c'est relativement facile et j'ai utilisé un Regex pour traiter la partie "Commentaires" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim rg As New Regex(";(.*)")

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

Discussions similaires

  1. [RegEx] Besoin d'aide pour construire une regex complexe
    Par Predax dans le forum Langage
    Réponses: 2
    Dernier message: 06/03/2013, 08h52
  2. demande d'aide pour construire une requete
    Par moabomotal dans le forum Langage SQL
    Réponses: 2
    Dernier message: 27/08/2007, 10h38
  3. Aide pour construire une requête SQL
    Par squalito dans le forum Oracle
    Réponses: 1
    Dernier message: 09/03/2007, 15h04
  4. Aide pour construire une requête SQL
    Par squalito dans le forum Langage SQL
    Réponses: 3
    Dernier message: 09/03/2007, 14h08
  5. [SQL] aide pour construire une requête
    Par mealtone dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 04/08/2006, 15h16

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