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

VB.NET Discussion :

Expression régulière avec une erreur


Sujet :

VB.NET

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2008
    Messages
    310
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 310
    Points : 347
    Points
    347
    Par défaut Expression régulière avec une erreur
    Bonjour,

    Pour tester la validité d'un nom de fichier, j'ai voulu utiliser une expression régulière pour des caractères interdits. Le problème, c'est qu'à la création du regex j'ai une erreur du type :

    Problème d'identificateur {x,y}
    Voici le regex que j'ai écrit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Regex regInterdits = New Regex("@[^é|è|à|....]*")
    L'idée est que je veux vérifier l'existence de ces caractères afin de prévenir l'utilisateur qu'il ne peut pas les saisir pour un nom de fichier. Donc l'idée de ce que veut exprimer mon regex est : "Il peut y avoir un ou plusieurs caractères de ce type"

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

    Informations forums :
    Inscription : Octobre 2006
    Messages : 665
    Points : 1 161
    Points
    1 161
    Par défaut
    Bonsoir,
    à tester :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
            Dim pattern As String = "^[^ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïñòóôõöùúûüýÿ]+$"
            Dim m As Match = Regex.Match(entreeATester, pattern)
            Return m.Success

  3. #3
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 277
    Points : 1 521
    Points
    1 521
    Par défaut
    Les caractères interdits pour les noms de fichiers (sous Windows) sont :

    Les caractères accentués et d'autres cultures sont parfaitement acceptés.

    Bien entendu, ça ne répond pas à la question, c'était juste pour information. L'expression régulière proposée dans le post d'avant est correcte bien que les ^ et $ soient inutiles à mon avis.

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

    Informations forums :
    Inscription : Octobre 2006
    Messages : 665
    Points : 1 161
    Points
    1 161
    Par défaut
    Citation Envoyé par Kaidan Voir le message
    L'expression régulière proposée dans le post d'avant est correcte bien que les ^ et $ soient inutiles à mon avis.
    Je peux me tromper, mais il y a une différence importante.
    Si je reprends ces deux expressions rationnelles :
    et
    Que je les teste sur "monfichier/1.txt" par exemple.
    La première acceptera, la seconde refusera.
    En effet on demande à la première si elle trouve autre chose que ce qui est interdit et répond logiquement "vrai".
    A la seconde on lui demande qu'elle ne trouve aucun des caractères interdits, du début à la fin de la chaine à tester, et répond logiquement "faux".

  5. #5
    Expert éminent
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Points : 7 660
    Points
    7 660
    Par défaut
    Citation Envoyé par Kaidan Voir le message
    Les caractères interdits pour les noms de fichiers (sous Windows) sont :

    Le plus simple est d'utiliser les méthodes Path.GetInvalidPathChars et Path.GetInvalidFileNameChars, ça évite de coder en dur ^^

    Sinon il est possible aussi de créer une instance de FileInfo, si le nom de fichier est invalide cela lèvera une exception. Mais en général je préfère éviter de lever des exceptions si on peut s'en passer.
    Pas de questions techniques par MP

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Août 2008
    Messages
    310
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 310
    Points : 347
    Points
    347
    Par défaut
    Merci ça marche nickel pour les expressions régulières

    @StormimOn : Je voulais juste essayer les expressions régulières et ne pas chercher la solution de faciliter

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 28/07/2014, 01h48
  2. Aide pour une expression régulière avec sed
    Par Loceka dans le forum Administration système
    Réponses: 4
    Dernier message: 05/10/2011, 09h48
  3. Réponses: 4
    Dernier message: 24/05/2010, 13h15
  4. [RegEx] Une expression régulière avec un peu de tout
    Par JackBeauregard dans le forum Langage
    Réponses: 2
    Dernier message: 17/04/2007, 09h50
  5. Expression régulière avec "|"
    Par YanK dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 16/07/2005, 15h09

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