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

Dotnet Discussion :

[C# et Regex] echappement du ?


Sujet :

Dotnet

  1. #1
    Membre chevronné
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Février 2004
    Messages
    345
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms

    Informations forums :
    Inscription : Février 2004
    Messages : 345
    Par défaut [C# et Regex] echappement du ?
    Bonjour,

    j'ai un texte qui contient des info pertinentes.
    exemple:
    "Qui suis-je ? je suis xufux"
    "Qui suis-je ? je suis toto"
    j'ai donc fait ce code pour extraire les données:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    string monTexte="Qui suis-je ? je suis xufux\nQui suis-je ? je suis toto";
    string pattern = "qui suis-je ? je suis (.*)";
    Regex rgx = new Regex(pattern);
    MatchCollection matches = rgx.Matches(monTexte);
    foreach (Match match in matches)
    {
         GroupCollection groups = match.Groups;
         traitement(groups[1].Value);
    }
    mais voila, le ? contenu dans le Regex est interprété comme un symbole de l'expression régulière et si je mets \?, le compilateur n'est pas content
    Séquence d'échappement non reconnue
    PS: si je remplace ? par (.) dans pattern, ca passe (mais ca me génère un groups[1] "parasite")

  2. #2
    Nouveau membre du Club
    Inscrit en
    Mai 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Mai 2008
    Messages : 10
    Par défaut
    Expresso est ton Ami : http://www.ultrapico.com/Expresso.htm, c'est le meuilleur outil que je connais, il te génère tous type de regexp

  3. #3
    Membre chevronné
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Février 2004
    Messages
    345
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms

    Informations forums :
    Inscription : Février 2004
    Messages : 345
    Par défaut
    Expresso est peut-être mon Ami mais j'ai le meme problème:

    Dans mon expression régulière, comment échapper le caractère '?' en C# ?

    (\? fonctionne dans Expresso)

  4. #4
    Membre chevronné
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Février 2004
    Messages
    345
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms

    Informations forums :
    Inscription : Février 2004
    Messages : 345
    Par défaut
    Youpi j'ai trouvé !!!
    il fallait echapper le caractère d'écahppement:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    string pattern = "qui suis-je \\? je suis (.*)";
    et voila !

  5. #5
    Membre Expert Avatar de davcha
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    1 258
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 258
    Par défaut
    ou bien tu fais ça :

    string pattern = @".... \? ....";

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

Discussions similaires

  1. [jakarta][regex]Matcher mot en entier.
    Par thibaut dans le forum Collection et Stream
    Réponses: 6
    Dernier message: 26/05/2004, 14h33
  2. [Regex] Vérifier qu'une chaîne respecte une expression régulière
    Par PeteMitchell dans le forum Collection et Stream
    Réponses: 7
    Dernier message: 13/05/2004, 15h22
  3. [caractere]echappement # et servlet
    Par okoax dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 22/04/2004, 17h29
  4. [regex][string] replaceAll bogué ?
    Par 7eme dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 13/11/2003, 17h36
  5. Cherche regex...
    Par laurent_h dans le forum C
    Réponses: 4
    Dernier message: 31/03/2003, 12h24

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