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 :

Expression régulière .net


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2010
    Messages
    101
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 101
    Par défaut Expression régulière .net
    Bonjour ,

    j'ai actuellement un souci avec les expressions régulières.
    Je veux pouvoir déterminer si une chaîne de caractère est un nombre.
    voici le code.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
     string sPattern = @"[+|-]?\d+.\d+$";
     
     string resultat= Regex.IsMatch("1,1",sPattern ) ?"succes" :"échec";
    après exécution, le résultat est succes.
    pourtant dans ma chêne le séparateur de décimal est la virgule.

    Je trouve ça anormal .

    Est ce que quelqu'un saurait comment distinguer un point d'une virgule dans une expression régulière ?

    merci d'avance.

    Comment distinguer

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 93
    Par défaut
    Salut,

    Je suis loin d'être un pro des expressions régulières, mais le . symbolise n'importe quel caractère il me semble. Essaye avec \.

    Sinon pour ce genre de test tu peux faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    double unDouble;
    double.TryParse("1,1", out unDouble);
    (qui possède une surcharge pour spécifier le format si jamais).

  3. #3
    Membre confirmé
    Inscrit en
    Avril 2010
    Messages
    101
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 101
    Par défaut
    Le résultat est pareil ajoutant un backslash.

  4. #4
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par défaut
    Citation Envoyé par yuriyan Voir le message
    Le résultat est pareil ajoutant un backslash.
    étonnant, es-tu sûr d'avoir correctement placé le backslash ?

    [+|-]?\d+\.\d+$

    J'ai testé dans une application console avec la valeur "1,1" et ça ne matche pas :
    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    Console.WriteLine(Regex.IsMatch("1,1", @"[+|-]?\d+\.\d+$") ? "succes" : "echec");
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  5. #5
    Membre confirmé
    Inscrit en
    Avril 2010
    Messages
    101
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 101
    Par défaut
    merci
    je pense que que j'ai eu la réponse ça marche.

    merci.

  6. #6
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par défaut
    Ok, alors n'oublie pas de cliquer sur le bouton en bas de cette page
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  7. #7
    Membre confirmé
    Inscrit en
    Avril 2010
    Messages
    101
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 101
    Par défaut
    merci
    je pense que que j'ai eu la réponse ça marche.

    merci.

  8. #8
    Membre Expert
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    700
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 700
    Par défaut
    Bonjour,
    de mémoire, il me semble que le point (.) employé seul représente tout caractère donc aussi bien le point que la virgule.
    Pour l'avoir au sens littéral, il faut donc l'échapper (\.).

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

Discussions similaires

  1. Expressions régulières .Net dans du Java ?
    Par NicoV dans le forum Collection et Stream
    Réponses: 0
    Dernier message: 13/05/2011, 11h42
  2. Expression régulière et .NET
    Par The eye dans le forum Général Dotnet
    Réponses: 5
    Dernier message: 26/04/2009, 16h43
  3. [.NET] Expression régulière
    Par neptune dans le forum Framework .NET
    Réponses: 6
    Dernier message: 15/05/2007, 12h59
  4. [VB.net][vs2005] Problème avec les expressions régulières
    Par zouhib dans le forum Windows Forms
    Réponses: 13
    Dernier message: 22/06/2006, 15h56
  5. [VB.NET][Expressions régulières] GroupCollection
    Par zouhib dans le forum Windows Forms
    Réponses: 8
    Dernier message: 02/06/2006, 17h50

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