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 :

problèmes avec Regex sous c#


Sujet :

C#

  1. #1
    Membre régulier
    Inscrit en
    Mars 2006
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 121
    Points : 110
    Points
    110
    Par défaut problèmes avec Regex sous c#
    Bonjour,

    j'ai un texte donné, que le veux parser avec Regex pour récupérer des chaines correspondant à un motif donné

    concrétement : je veux détecter et recuperer les chaines sous la forme

    <<<<[du texte ici].INSERT>>>>

    voici le code :

    Regex r = new Regex(@"<<<<(?<content>.*)\.INSERT>>>>");
    string s = "<<<<AAAA .INSERT>>>> \nfsbb dff <<<<BBBB.INSERT>>> ghfdh";

    MatchCollection matches = r.Matches(s);

    foreach (Match match in matches) {
    string newContent = match.Groups["content"].Value;
    MessageBox.Show("'" + newContent + "'");
    }


    Donc normalement je devrais avoir deux chaines qui s'affichent : "AAAA"
    et "BBBB"

    mais il n y a que AAAA qui est affiché

    C'est qoi le probleme ? et comment y remedier

  2. #2
    Membre expérimenté Avatar de bossun
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 359
    Points : 1 443
    Points
    1 443
    Par défaut
    après l'exécution de

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MatchCollection matches = r.Matches(s);
    combien d'elements comporte ta collection "matches"???

    je sais pas si c est une erreur de frape mais entre AAAA et .INSERT il y a un espace tandis que entre BBBB et .INSERT y en a pas...

  3. #3
    Membre régulier
    Inscrit en
    Mars 2006
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 121
    Points : 110
    Points
    110
    Par défaut
    en fait je viens de changer l'expression régulière par celle ci :

    <<<<(?<content>[^>]*>{0,3}[^>]+>{0,3}[^>]*)\.INSERT>>>>

    ça marche apparamment

    merci bcp

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

Discussions similaires

  1. Problème avec RegEx et une Query string
    Par Erakis dans le forum Langage
    Réponses: 6
    Dernier message: 08/11/2005, 15h48
  2. Problème avec EInOutError sous delphi 2005
    Par Teb dans le forum Langage
    Réponses: 3
    Dernier message: 19/08/2005, 11h48
  3. fichier .bat : problèmes avec des sous-répertoires
    Par aymron dans le forum Windows
    Réponses: 4
    Dernier message: 23/06/2005, 09h33
  4. Problème avec glutFullScreen() sous linux...
    Par MaxPayne dans le forum OpenGL
    Réponses: 1
    Dernier message: 29/11/2004, 11h30
  5. Problème avec CopyDir sous D5
    Par Houben Jacques dans le forum Langage
    Réponses: 3
    Dernier message: 26/05/2003, 22h02

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