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 :

property success de la classe Match


Sujet :

C#

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    958
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 958
    Points : 141
    Points
    141
    Par défaut property success de la classe Match
    Bonjour,

    soit le code suivant de la méthode GetValidEmailAddressesvalidation de validation d'adresses email

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    private static List<string> GetValidEmailAddresses(string input, string pattern){
    var regex = regex.Matches(input);
    var validEmailAddresses = new List<string>();
    foreach(Match match in matches)[
     
    if(match.Success){
     
    validEmailAddresses.Add(match.Value);}
    }
     
    return validEmailAddresses;
     
    }
    Normalement, la variable regex contient toutes les occurrences de la chaine input qui correspondent à l'expression régulière.
    Pourquoi retester dans la boucle foreach, if(match.Success)alors qu'il est clair que tous les éléments match de type Match correspondent bien à l'expression régulière.


    Je vous remercie de votre réponse sur ce point.

    Cordialement.
    new_wave
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes. [SHADOKS]

  2. #2
    Expert éminent Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 858
    Points : 6 556
    Points
    6 556
    Par défaut
    Il n'y a effectivement aucune raison, c'est tout à fait inutile.

    Je pense que l'auteur a dû s'emmêler les pinceaux avec la méthode Regex.Match(String, String) qui serait plus appropriée ici vue qu'elle implique directement le bouclage pour obtenir les résultats successifs:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    private static List<string> GetValidEmailAddresses(string input, string pattern) {
     
        var validEmailAddresses = new List<string>();
        Match match = Regex.Match(input, pattern);
     
        while (match.Success) {
            validEmailAddresses.Add(match.Value);
            match = match.NextMatch();
        }
     
        return validEmailAddresses;
    }
    On peut aussi écrire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    private static List<string> GetValidEmailAddresses(string input, string pattern) {
     
        var validEmailAddresses = new List<string>();
     
        foreach (Match match in Regex.Matches(input, pattern)) {
            validEmailAddresses.Add(match.Value);
        }
     
        return validEmailAddresses;
    }
    Brachygobius xanthozonus
    Ctenobrycon Gymnocorymbus

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    958
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 958
    Points : 141
    Points
    141
    Par défaut test expression régulière
    Merci à toi de ta réponse.

    Les choses sont claires à présent.

    Bien cordialement

    new_wave

    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes. [SHADOKS]

Discussions similaires

  1. "There is no 'String' property in the 'figure' class."
    Par Maboulman182 dans le forum Interfaces Graphiques
    Réponses: 12
    Dernier message: 28/04/2012, 00h59
  2. [Débutante][LDAP] utilisation de la classe Properties
    Par sangei dans le forum API standards et tierces
    Réponses: 31
    Dernier message: 07/12/2005, 08h50
  3. Classes - Sub/Fonction vs Property
    Par j_bolduc dans le forum ASP
    Réponses: 6
    Dernier message: 24/08/2005, 19h19
  4. [JAR] pb class qui fait référence à un fichier property
    Par yanagiba dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 11/08/2005, 11h55
  5. Réponses: 6
    Dernier message: 15/05/2005, 14h11

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