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

Langage PHP Discussion :

Problème création Regex [RegEx]


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2013
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2013
    Messages : 19
    Points : 17
    Points
    17
    Par défaut Problème création Regex
    Bonjour à tous,

    J'aimerais vous demander un coup de mains afin de créer des Regex afin de vérifier une chaine de caractère.

    Je ne sais absolument pas comment déclarer simplement un regex, de plus j'aimerais vérifier, dans un If les formes suivantes:
    - MXX-XXXX (M obligatoire, X = chiffre de 0 à 9 )
    - PREMXXXXXX XX
    - AAAXXXXXXXXXX ( AAA obligatoire et le reste en chiffre )
    - O-999999-99 et O-999999-99SXX


    Voilà merci d'avance

  2. #2
    Inactif  
    Homme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Janvier 2014
    Messages : 374
    Points : 479
    Points
    479
    Par défaut
    Bonjour.

    Pouvez vous confirmer les contraintes de la chaine ?...

    - On ne sait rien de la longueurs des segments de Majuscules ou de Chiffres...
    - la nature des séparateurs (je suppose : un unique " ", ou 1 "-", ou "rien")
    - la chaine commence tjs par une ou plusieurs Majuscules...

  3. #3
    Membre à l'essai
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2013
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2013
    Messages : 19
    Points : 17
    Points
    17
    Par défaut
    En effet désolé,

    En réalité tout doit être en majuscule.

    J'ai réussi à traiter les premiers cas.
    Maintenant un autre problème vient à moi.

    J'aimerais savoir s'il était possible d'indiquer en UNE SEULE instruction les possibiltés suivantes:
    il est possible que la chaine recoive O-999999-99 ou O-999999-99SXX

    Je sais que l'instruction pour le 1er cas est: "^O-[0-9]{6}-[0-9]{2}" <- ici j'aimerais dire qu'il est possible qu'elle peut recevoir "SXX" où XX correspond à [0-9]{2}

    J'espère avoir été assez clair

    Merci

  4. #4
    Inactif  
    Homme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Janvier 2014
    Messages : 374
    Points : 479
    Points
    479
    Par défaut
    Ah oui mais non ! Vous n'avez pas répondu à mes questions !

    Essayez (non testé) :
    /^[A-Z]+([ -]?([0-9]+|[A-Z]+))*$/

  5. #5
    Membre expert
    Avatar de Spartacusply
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    1 723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 723
    Points : 3 274
    Points
    3 274
    Par défaut
    Tout est possible dans une regex, reste qu'il faut déjà exprimer très clairement ce que l'on souhaite obtenir, par exemple :

    Une chaîne d'au moins 8 caractères, dont au moins la moitié sont en majuscules avec au moins la présence d'un caractère spécial.

    C'est complètement bidon et tordu, mais au moins c'est clair.


    Pour toi, ce que tu souhaites obtenir ne l'est pas.
    Un message utile vous a aidé ? N'oubliez pas le

    www.simplifions.fr - Simplifier vos comptes entre amis !

  6. #6
    Membre à l'essai
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2013
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2013
    Messages : 19
    Points : 17
    Points
    17
    Par défaut
    Bonjour à vous,

    Désolé de ne pas être suffisement clair.

    J'ai réussi à faire ce que je demandais hier. Il reste encore un problème.

    J'ai une fonction regex qui compare ma chaine "txtPlanAssemb.text" avec l'instruction "separatedForm(i,1)", instruction qui ressemble à ça: "^[M][0-9]{2}-[0-9]{4}$".
    Cette instruction se trouve dans un fichier et separatedForm(i,1) sert à la récupérer cependant cela ne fonctionne pas. Or lorsque je met l'instruction en directement dans mon If à la place de separatedForm, cela fonctionne. Je pense donc qu'il y a un caractère que je n'arrive pas à voir qui me bloque la fonction.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
                       
     If Not (Regex.IsMatch(txtPLanAssemb.Text, separatedForm(i,1) , RegexOptions.None)) Then
                            MsgBox("La forme n'est pas correcte")
    Exit Sub
    End If
    Partie du fichier texte ou se trouve l'instru:

    1;"^[M][0-9]{2}-[0-9]{4}$";MXX-XXXX

    Je récupère la 2ème partie, elle est séparée par des ";".

    Merci

  7. #7
    Inactif  
    Homme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Janvier 2014
    Messages : 374
    Points : 479
    Points
    479
    Par défaut
    J'ai réussi à faire ce que je demandais hier.
    Hummm !... Et le résultat des courses ?... Avant de rejouer (peut-être)

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

Discussions similaires

  1. Problème de Regex ... avec un point
    Par bugalood dans le forum Langage
    Réponses: 2
    Dernier message: 29/05/2005, 10h26
  2. .htaccess problème création sous windows
    Par Leviathan_72 dans le forum Apache
    Réponses: 2
    Dernier message: 18/05/2005, 20h29
  3. Problème création et destruction de processus.
    Par loupdeau dans le forum MFC
    Réponses: 5
    Dernier message: 08/04/2005, 13h33
  4. Problèmes création de procédures et de triggers
    Par missllyss dans le forum SQL
    Réponses: 2
    Dernier message: 06/11/2003, 10h42
  5. Problème création de DLL
    Par monsieur.voie.lactee dans le forum C++Builder
    Réponses: 4
    Dernier message: 12/08/2003, 16h56

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