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 :

Probleme expressions regulieres


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé

    Inscrit en
    Avril 2004
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 78
    Par défaut Probleme expressions regulieres
    Bonjour

    Je me met aux expressions reguliere car je dois savoir si une phrase est bien fore ou pas.

    Une phrase me donnes les donnees recues (les SOUSBLOCK) dans un BLOCK
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Exemple de phrases 
    BLOCK=0 // il manque le block 0 entier - i.e. aucune donnees recues
    BLOCK=1&SOUSBLOCK=4-14// j ai pour le block 1 j ai recu les sous block de 4 a 14
    BLOCK=1&SOUSBLOCK=18// j ai pour le block 1 j ai recu le sous block 18
    Voici l expression regulieres que j ai fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    "BLOCK= [[:digit:]]+ [&SOUSBLOCK= [[:digit:]]+ | [[[:digit:]]+ - [[:digit:]]+]]?
    PS j ai mis des espaces pour que ce soit plus lisible.

    Le probleme ici est que lorsque je marque "SBN=121jj"
    il me dit que cette expression est valide .

  2. #2
    Expert confirmé
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Par défaut
    il faut que tu échapes les [ qui ne doivent pas être interprétés :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "BLOCK= [[:digit:]]+ \\[&SOUSBLOCK= [[:digit:]]+ (- [[:digit:]]+)?\\]"
    et que tu utilises des parenthèses pour les sous-masques
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag :resolu: (en bas)

  3. #3
    Membre confirmé

    Inscrit en
    Avril 2004
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 78
    Par défaut
    hummm dans http://nicolasj.developpez.com/articles/regex/#LII-C
    ce n etait pas explique.

    Dis moi et pour les sous-sous-masques j utilise les parentheses ?

    Quand je met ce que tu as mis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "BLOCK=[[:digit:]]+\\[&SOUSBLOCK=[[:digit:]]+(-[[:digit:]]+)?\\]"
    j ai faut a chaque fois .

  4. #4
    Expert confirmé
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Par défaut
    oui, pour les sous-sous-*-masques c'est toujours des parenthèses, ensuite, pense à bien virer les espaces et à bien faire correspondre la regexp à ce que tu souhaite...
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag :resolu: (en bas)

  5. #5
    Membre confirmé

    Inscrit en
    Avril 2004
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 78
    Par défaut
    j ai voulu tester la chaine de caractere suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "BLOCK=1451&SOUSBLOCK=1434"
    j obtiens une repose negative

    il y a un truc qui m echaape, j ai du mal a comprendre pkoi tu met // devant les crochets a certain moment ....

  6. #6
    Membre confirmé

    Inscrit en
    Avril 2004
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 78
    Par défaut
    j ai fais une expression beaucoup plus simple :

    Lorsque je la compare a la phrase :
    Ca me dit que c bon, alors que ca ne devrait pas l etre.....

Discussions similaires

  1. Probleme Expression reguliere.
    Par khaled69100 dans le forum Collection et Stream
    Réponses: 10
    Dernier message: 27/06/2007, 17h46
  2. [langage] Probleme expression régulière
    Par killuaster dans le forum Langage
    Réponses: 5
    Dernier message: 29/10/2006, 19h21
  3. [RegExp] Problèmes expressions régulières
    Par Bluespike62 dans le forum Langage
    Réponses: 34
    Dernier message: 07/02/2006, 12h33
  4. [langage] Ptit Probleme expression réguliere avec perl
    Par Shoot Again dans le forum Langage
    Réponses: 3
    Dernier message: 02/12/2004, 12h44
  5. [langage] problème expression régulière
    Par chtiboss dans le forum Langage
    Réponses: 6
    Dernier message: 05/01/2004, 16h08

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