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 :

Verifier mon expression régulière


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 3
    Par défaut Verifier mon expression régulière
    Bonjour, j'essaie de recuperer des chaines de caractères à partir d'une expression régulière mais celle ci semble incorrecte.

    en fait, j'ai une expression de la forme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (((\[([a-zA-Z0-9]+)\;([a-zA-Z0-9]+)\])|([a-zA-Z0-9]+))\;){1,}((\[([a-zA-Z0-9]+)\;([a-zA-Z0-9]+)\])|([a-zA-Z0-9]+))
    et je voudrais qu'il matche des chaines de la forme 1;2;[5;7];9;[9;15] sinon return false

    Pourriez me dire ce qui cloche sur cette expression svp?

    Merc d'avance.

  2. #2
    Membre émérite
    Profil pro
    Assistant recherche bioinformatique
    Inscrit en
    Novembre 2007
    Messages
    877
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant recherche bioinformatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 877
    Par défaut
    Bonjour,
    Pourrais-tu definir ce que tu veux recuprer, et ne pas recuperer ?
    Tu n'as pas autant de parentheses fermantes que ouvrantes.
    Z.

  3. #3
    Membre émérite
    Profil pro
    Assistant recherche bioinformatique
    Inscrit en
    Novembre 2007
    Messages
    877
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant recherche bioinformatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 877
    Par défaut
    ok, j'ai zappé le smiley en copiant. Il faut utiliser les balises 'code'.
    Ton expression reguliere fonctionne chez moi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?php
    $str = '1;2;[5;7];9;[9;15]';
    $pattern = '/(((\[([a-zA-Z0-9]+)\;([a-zA-Z0-9]+)\])|([a-zA-Z0-9]+))\;){1,}((\[([a-zA-Z0-9]+)\;([a-zA-Z0-9]+)\])|([a-zA-Z0-9]+))/';
    preg_match($pattern, $str, $matches);
    var_dump($matches);
    ?>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    array(11) {
      [0]=>
      string(18) "1;2;[5;7];9;[9;15]"
      [1]=>
      string(2) "9;"
      [2]=>
      string(1) "9"
      [3]=>
      string(5) "[5;7]"
      [4]=>
      string(1) "5"
      [5]=>
      string(1) "7"
      [6]=>
      string(1) "9"
      [7]=>
      string(6) "[9;15]"
      [8]=>
      string(6) "[9;15]"
      [9]=>
      string(1) "9"
      [10]=>
      string(2) "15"
    }
    Ou est le problème ?

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 3
    Par défaut je veux recuperer des chaines comme suit
    Bonjour,

    ce que je voudrais faire est un test en fait.

    je ne dois rentrer que des chaines de cette forme ci:
    1;2;5;[3;6];5;89;8;10];[2;4]

    et si je rentre une chaine autre genre 1;[5;6;7;[8];9;10, il ne doit pas etre accepté. alors c'est un test que je voudrais faiore.

    en deux, je voudrais recuperer des chaines mais en suivant mon premier exemple, je voudrais qu'il récupère 1 2 5 3 4 5 6 5 89 8 9 10 2 3 4 en sachant que tout ce qui se trouve entre crochets correspond à un intervalle.


    Merci d'avance de vos réponses.
    je précise que j'utilise du javascript

  5. #5
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    Tu ne pourras pas le faire directement avec une regExp...
    Autant faire un explode en php et traiter les elements avec crochets

    pour ce qui est de verifier le format de saisie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ^(((\d+)|(\[\d+;\d+]));)*((\d+)|(\[\d+;\d+]))$
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

Discussions similaires

  1. Problème avec mon expression régulière
    Par luffydu22 dans le forum Débuter
    Réponses: 6
    Dernier message: 16/07/2010, 14h32
  2. Espace accepté pour mon expression régulière
    Par Général03 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 29/12/2009, 09h40
  3. Problème avec mon expression régulière
    Par romuluslepunk dans le forum Collection et Stream
    Réponses: 6
    Dernier message: 12/03/2009, 21h11
  4. [Expression Régulière] Ok sur JRegexTester, mais pas sur mon Test.java
    Par nicorama dans le forum API standards et tierces
    Réponses: 1
    Dernier message: 23/09/2008, 14h42
  5. [expression régulière] mon cerveau fait des noeuds..
    Par nawac dans le forum Algorithmes et structures de données
    Réponses: 7
    Dernier message: 27/05/2003, 10h06

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