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 :

erreur REG_BADRPT avec ereg [RegEx]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    225
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 225
    Par défaut erreur REG_BADRPT avec ereg
    Salut tous ,

    bon voilà mon probléme , j'éssaie avec une expression réguliére de trouver ce qui est entre les crochets [ et ] , et j'utilise cette regex avec ereg \[[(*.)]]\] mais ça ne marche absolument pas , et ça me retourne l'érreur REG_BADRPT , certains qui commenent dans la documentation de PHP disent qu'il faut préceder des caractéres spéciaux avec un anti-slash \ , mais je pense quand même que j'ai précédé le premier et le dernier crochet par un anti-slash :S

    Peut quelqu'un m'aider ?

    Merci d'avance , a+ .

  2. #2
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    225
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 225
    Par défaut
    Salut ,

    bon j'ai réussi à résoudre l'érreur avec cette expression [[][(*.)][]]
    mais peut quelqu'un m'expliquer pourquoi ma premiére regex ne marche pas ?

    A+ .

  3. #3
    Membre éprouvé
    Avatar de Anduriel
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Février 2004
    Messages
    2 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Février 2004
    Messages : 2 290
    Par défaut
    Il y a un problème avec les crochets que tu mets en trop, il doit considérer ça pour une classe...
    Sinon moi je ferai:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ereg("\[(.+)\]", $chaine);

  4. #4
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    225
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 225
    Par défaut
    Ah j'ai trouvé la raison !!!
    en effet , c'est moi qui est stupide , je devais mettre (.*) au lieu de [(*.)]

  5. #5
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    225
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 225
    Par défaut
    Merci pour ta réponse , j'ai pris cette regex : [[](.*)[]]
    le premier crochet est considéré comme une ouverture de la classe .
    le deuxiéme est considéré comme un caractére normal , car il est impossible de le considerer comme ouverture de classe à l'intérieur d'une classe !
    le troisiéme est reconnu comme la fermeture de la premiére classe , et c'est la même chose pour la dérniére classe []] .

  6. #6
    Membre Expert
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    792
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 792
    Par défaut
    Et, tant que tu y es, utilises preg et sa famille.

    Les fonctions PCRE sont tellement plus riches et rapides...

  7. #7
    Membre Expert Avatar de Lorenzo77
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 472
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 472
    Par défaut
    REG_BADRPT veut dire :
    REGex BAD RePeTition --> tu au une erreur au niveau du caractere que tu essaye de repeter et dans ton cas tu essayes de repeter celui la : "(" ce qui provoque une erreur logique.

    et oui, les REGEX PERL (PCRE en PHP) sont 1000 fois mieux que les posix ou autre

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

Discussions similaires

  1. debutant: erreur LNK2001 avec la librairie GSL
    Par drill3 dans le forum MFC
    Réponses: 6
    Dernier message: 25/04/2005, 13h58
  2. erreurs opengl avec devcpp
    Par Vermin dans le forum OpenGL
    Réponses: 2
    Dernier message: 13/04/2004, 14h50
  3. Erreur EACCESSVIOLATION avec des compsts créés dynamiquement
    Par tsikpemoise dans le forum Bases de données
    Réponses: 4
    Dernier message: 28/02/2004, 19h05
  4. Erreur fréquente avec ASP et IIS
    Par Community Management dans le forum ASP
    Réponses: 2
    Dernier message: 11/02/2004, 22h20
  5. Erreurs IIS avec Multiples Frames avec xmlrad
    Par powerlog dans le forum XMLRAD
    Réponses: 4
    Dernier message: 01/07/2003, 13h15

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