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 :

Contrôle avec expression régulière [Fait] [RegEx]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 067
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 067
    Par défaut Contrôle avec expression régulière
    Bonsoir,

    Petit soucis sur une expression régulière.

    J'ai fait un petit langage de calcul qui fonctionne très bien dans son interprétation. Dans le formulaire de saisie des règles de calcul, j'ajoute un contrôle de syntaxe et j'ai quelques soucis avec mon contrôle avec l'expression régulières suivantes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(!preg_match("`^[a-zA-Z0-9\(\)\[\]\"+-*,/%& ]*$`",$texte));

    Voici un exemple de règle de calcul qui doit être accepté
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    &var["DEDD11"]+&var["DEDD12"]-10%
    Les caractères devant être accepté sont les lettres et les chiffres ainsi que les signes que j'ai placé dans mon expression régulière. A savoir() ["]+-=%/*&,

    Mon erreur ne me saute pas aux yeux, j'ai trop le nez dedans sûrement.

    Votre avis m'intéresse.

    Merci D'avance

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    Dans votre classe de caractère le tiret a besoin d'être échappé car sinon il s'agit d'un métacaractère qui définit en temps normal un intervalle (exemple : [a-z] toutes les lettres minuscules).


    Julp.

  3. #3
    Membre éprouvé Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 067
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 067
    Par défaut
    Je ne comprends la réponse.

    La solution serait de faire uniquement ceci ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(!preg_match("`^[a-zA-Z0-9\(\)\[\]\"+\-*,/%& ]*$`",$texte));
    Mai cela ne fonctionne pas

  4. #4
    Membre éprouvé Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 067
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 067
    Par défaut
    D'après ce que j'ai lu, "dans les crochets, chaque caractère représente ce qu'il est. Pour représenter un ] il faut le mettre en premier (ou après un ^ si c'est une interdiction), un - se met en premier ou en dernier."

    donc j'ai modifié comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(!preg_match("`^[][a-zA-Z0-9\(\)\"+\*,/%& -]*$`",$texte));
    Mais bon, cela ne change rien.

  5. #5
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    Salut

    Essaie avec quelque chose comme ceci (pas testé) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(!preg_match("`^[a-z0-9()\[\]\"+*,/%& -]*$`i", $texte));

    Pour rappel, tu peux consulter ce tutoriel : http://g-rossolini.developpez.com/tu...ns-regulieres/

  6. #6
    Membre éprouvé Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 067
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 067
    Par défaut
    Merci Yogui,

    J'avais déjà testé quelque chose comme cela, alors j'ai qu'en même testé ce que tu m'as fourni, cela n'a pas fontionné.

    J'ai refait quelques modifs et cela ne fonctionne toujours pas.

    J'ai lu plein de chose sur le sujet et je n'ai sûrement pas tout compris.

    Il n'existe pas un débugueur qui dit ce qu'il n'aime pas ?

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

Discussions similaires

  1. Réponses: 9
    Dernier message: 14/08/2007, 15h24
  2. [PEAR][HTML_QuickForm] Création de filtre avec expression régulière
    Par audran12 dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 26/06/2007, 12h31
  3. pb avec expression régulière (regex)
    Par rudhf dans le forum C#
    Réponses: 12
    Dernier message: 10/05/2007, 16h20
  4. [RegEx] Problème avec expressions régulières.
    Par Cygnus Saint dans le forum Langage
    Réponses: 12
    Dernier message: 14/08/2006, 12h55
  5. [C#] Caractères hexadécimal avec expressions régulières
    Par shinchan dans le forum Windows Forms
    Réponses: 4
    Dernier message: 16/01/2006, 12h41

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