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

C# Discussion :

Récupération de Regex


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 50
    Par défaut Récupération de Regex
    Bonjour,

    Petit problème de récupération de regex...

    J'ai une petite méthode qui me renvoi un string :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    public static String BuildRegex(String pattern, String input)
    {
        Regex reg = new Regex(pattern);
        Match match = reg.Match(input);
        return match.Groups.Count >= 2 ? match.Groups[1].Value : match.Value;
    }
    et à côté du code pour récupérer les infos :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    day = int.TryParse(Helper.BuildRegex(pattern, input), out day) ? day : dtn.Day;
    month = int.TryParse(Helper.BuildRegex(pattern, input), out month) ? month : dtn.Month;
    year = int.TryParse(Helper.BuildRegex(pattern, input), out year) ? year : dtn.Year;
    Avec une regex de "sélection" type ^([0-9]{2})/[0-9]{2}$ ça marche bien mais si on utilise .* ça marche plus.
    Et je trouve pas la logique pour gérer tous les cas, besoin d'un peu d'aide.

    Merci

  2. #2
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2005
    Messages
    700
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Juin 2005
    Messages : 700
    Par défaut
    si j'étais toi, je commencerai par tester l'entrée avant d'exploiter un resultat:

    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
     
     
     
    public static String BuildRegex(String pattern, String input)
    {
        if(String.IsNullOrEmpty(pattern))
             throw new ArgumentNullException("pattern");
     
        if(String.IsNullOrEmpty(input))
             throw new ArgumentNullException("input");
     
        Regex reg = new Regex(pattern);
        Match match = null;
        if(reg.IsMatch(input))
           match = reg.Match(input);
        if(match == null)
             throw new InvalidArgumentException("chaine input incorrecte");
        return match.Groups.Count >= 2 ? match.Groups[1].Value : match.Value;
    }
    Et qu'entends tu pas "ca ne marche plus"?

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 50
    Par défaut
    C'est pas faux, je devrais mettre un peu de sécurité.

    Le problème en fait c'est que supposons que l'input soit 08/10.
    Avec la regex : ^([0-9]{2})/[0-9]{2}$

    En sortie j'aurais bien day ==> 08 et month ==> 10

    Par contre avec la regex : .*

    En sortie je pers l'information.

Discussions similaires

  1. [RegEx] Regex récupération variable
    Par marsboul2d dans le forum Langage
    Réponses: 7
    Dernier message: 10/01/2013, 17h00
  2. Récupération d'une sous-chaîne : regex?
    Par miniil dans le forum Débuter avec Java
    Réponses: 3
    Dernier message: 08/11/2012, 13h49
  3. [RegEx] Récupération de variables issues d'une regex
    Par divided dans le forum Langage
    Réponses: 1
    Dernier message: 31/07/2011, 18h24
  4. Récupération chaine de caractére (via regex)
    Par Micke7 dans le forum Général Java
    Réponses: 3
    Dernier message: 09/01/2009, 10h10
  5. Récupération d'une valeur par regex
    Par loman02 dans le forum Langage
    Réponses: 5
    Dernier message: 27/10/2008, 13h59

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