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 :

Regular Expression


Sujet :

C#

  1. #1
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Février 2003
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 2 180
    Points : 4 496
    Points
    4 496
    Par défaut Regular Expression
    Bonjour je suis pas un très grand spécialiste des Regular Expression donc je viens chercher un peu d'aide

    J'ai par exemple dans un string : "List<Voiture>" ou ArrayList<Voiture>
    1) J'aimerai savoir si mon string contient soit "List<>" soit ArrayList<> soit autre chose
    2) Stocker "Voiture" dans une Variable
    Je ne suis qu'un pauvre débutant alors ne frappez pas si mes idées ne sont pas bonnes

  2. #2
    Membre habitué Avatar de Pynouz
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 274
    Points : 177
    Points
    177
    Par défaut
    Bonjour,

    Je viens de faire cette expression régulière :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ((List<[a-zA-Z0-9]*>)|(ArrayList<[a-zA-Z0-9]*>)){1,}
    Elle permet de trouver si il y a un : "List<>" ou un "ArrayList<>" ou les 2 avec quelque chose a l'intérieur des "< >" ou non.

    J'espere que c'est ce que tu cherches.

  3. #3
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Février 2003
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 2 180
    Points : 4 496
    Points
    4 496
    Je ne suis qu'un pauvre débutant alors ne frappez pas si mes idées ne sont pas bonnes

  4. #4
    Membre régulier
    Homme Profil pro
    Inscrit en
    Avril 2010
    Messages
    152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2010
    Messages : 152
    Points : 109
    Points
    109
    Par défaut
    Bonjour,

    Tu es obligé d'utiliser les RegEx? Parce que je pense que indexOf peut résoudre ton problème :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    String str1 = "Array<Vehicule>";
    int indexArray = tr1.IndexOf("Array<");
    int indexSub = str1.IndexOf(">") ;
     
    if ((indexArray  != -1) && (indexSub  != -1) && i(ndexArray < indexSub ) )
    {
     
          String content = str1.Substring(6, str1.lenght-2);
     
    }
    Le 6 dans le Substring correspond à l'index du premier caractère après "<"

  5. #5
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Février 2003
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 2 180
    Points : 4 496
    Points
    4 496
    Par défaut
    Finalement j'ai fait

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (?<collectiontype>[a-zA-Z0-9]*)<(?<vartype>[a-zA-Z0-9]*)>
    grace à l'exemple de Pynouz

    farfouch00:

    Non, non c'est pas obligatoire, je m'en étais passé pour continuer mon programme
    C'est juste que c'est plus joli avec (quand on s'est les utilisés )

    Et à force de poser des questions et voir des exemples, je suis sur que ca va finir par rentrer
    Je ne suis qu'un pauvre débutant alors ne frappez pas si mes idées ne sont pas bonnes

  6. #6
    Membre habitué Avatar de Pynouz
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 274
    Points : 177
    Points
    177
    Par défaut
    Citation Envoyé par BenoitM Voir le message
    Cela signifie qu'il y a au moins 1 fois l'une des deux occurences.

    Les expressions réguilières sont plus jolies en effet. Cependant, elles sont plus difficiles a debugger et si un jour tu dois reprendre ton programme (ou quelqu'un d'autre) ce n'est pas toujours évident de les décrypter (même quand on les a fait soit même).

    Je te conseille donc de bien les commenter si tu les utilises.

  7. #7
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Février 2003
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 2 180
    Points : 4 496
    Points
    4 496
    Par défaut
    Merchi
    Je ne suis qu'un pauvre débutant alors ne frappez pas si mes idées ne sont pas bonnes

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

Discussions similaires

  1. Regular expression qui ne fonctionne pas
    Par Remedy dans le forum Langage
    Réponses: 2
    Dernier message: 11/05/2007, 16h52
  2. [Regular expression] Possessive quantifiers
    Par Pragmateek dans le forum Langage
    Réponses: 1
    Dernier message: 24/06/2006, 12h55
  3. [debutant] Regular Expression
    Par absolut75 dans le forum Collection et Stream
    Réponses: 5
    Dernier message: 13/06/2006, 01h43
  4. [RegEx] Empty regular expression
    Par Khrysby dans le forum Langage
    Réponses: 2
    Dernier message: 24/04/2006, 22h25
  5. [Regular Expressions] Numérotation romaine
    Par ramalho dans le forum Valider
    Réponses: 3
    Dernier message: 24/02/2004, 17h43

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