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 et détection non respect règle dev


Sujet :

VB.NET

  1. #1
    Candidat au Club
    Inscrit en
    Octobre 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 6
    Points : 2
    Points
    2
    Par défaut Expression régulière et détection non respect règle dev
    Bonjour,

    je cherche à faire un petit programme pour valider la syntaxe du code qui m'est fournit.

    J'aimerai notamment pouvoir vérifier que les variables sont préfixés par la première lettre de leur type. Exemple : dim iNombre as Integer est ok
    et dim Nombre as Integer ne l'est pas.

    Je cherche à le faire avec des expressions régulières mais sans succès.

    J'en suis à : \b[^i] As Integer mais cela me retourne même les variables qui sont ok.

    Quelqu'un à t'il une solution. Il faudrait que je puisse détecter les mots qui ne commence pas par i et qui sont suivis de As Integer

    Merci d'avance pour vos réponses.

  2. #2
    Membre expert Avatar de OhMonBato
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 660
    Points : 3 685
    Points
    3 685
    Par défaut
    Je crois que je chercherais "As Integer" (déjà tu risques d'en avoir moins que de mots qui commencent par "i") et ensuite je vérifierai le mot avant.
    Pour VB6 : N'oubliez pas d'aller voir la FAQ et les Tutoriels
    Vous trouvez une reponse particulierement utile ? Votez pour !

  3. #3
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Dim [^i]\w* As Integer
    c'est à dire : "Dim", espace, un caractère qui n'est pas 'i', un nombre indéterminé de caractères alphanumériques (nom de variable), "As Integer"
    Tu peux utiliser Expresso pour tester des expressions régulières

    Soit dit en passant, la notation hongroise (convention que tu utilises pour nommer tes variables) est un peu dépassée et généralement pas considérée comme une bonne pratique, donc je ne vois pas l'intérêt de forcer les développeurs à l'utiliser.

  4. #4
    Candidat au Club
    Inscrit en
    Octobre 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Ce n'est pas possible de tomber directement sur le mot qui ne commence pas par un i alors qu'il est suivi par As Integer sans utiliser autre chose que les expression réguliere ?

  5. #5
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    ben si, c'est justement ce que fait l'expression reguliere que je t'ai donnée...
    pour extraire juste le nom de la variable, tu peux aussi faire comme ça :
    Dim ([^i]\w*) As Integer
    (avec les parenthèses)
    Ensuite tu récupères l'expression capturée entre parenthèses avec la propriété Groups du Match obtenu

Discussions similaires

  1. Expression régulière, supprimer caractères non numérique
    Par Scinza38 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 22/11/2009, 11h19
  2. Réponses: 16
    Dernier message: 01/06/2006, 21h37

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