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 Perl Discussion :

REGEX avec variable


Sujet :

Langage Perl

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2006
    Messages : 66
    Points : 60
    Points
    60
    Par défaut REGEX avec variable
    Pour commencer, un peu de code qui mène tout
    droit à une erreur de compilation

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $var1 = $A;
    $test_string = .... #une valeur quelconque
     
    $test_string =~ /...$var1.../;
    On dirait que $var1 n'est pas remplacée par sa valeur.

    J'ai aussi fait une recherche sur le forum mais les seules
    infos que j'ai trouvées portaient sur des cas où $var1
    était définie directement avec une chaîne de caractères,
    qu'il était conseillé d'encadrer d'apostrophes et non de
    guillemets.

  2. #2
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 572
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 572
    Points : 2 014
    Points
    2 014
    Par défaut
    Tu as un bout du vrai code à nous montrer stp ?

  3. #3
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Tu peux tout à fait mettre une variable quelconque dans une regex, il y a deux phase : d'abord on interpole les variables présentes dans la regex, ensuite le moteur de regex lit le résultat et le compile en automate, si la syntaxe de la regex est correcte.
    Si tu obtiens une erreur, ça ne vient donc pas directement de la présence de $var1 dans la regex, par contre ça pourrait venir du fait que la regex résultante de cette interpolation est mal-formée.
    Tu pourrais au moins nous dire l'erreur que tu as ?

    --
    Jedaï

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2006
    Messages : 66
    Points : 60
    Points
    60
    Par défaut
    Effectivement, le problème venait du fait d'une accolade ouvrante après le nom de la variable :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $test_string =~ /$var1{abc}/;
    Du coup, j'imagine que cela crée un contexte ambigu :
    on ne sait pas s'il s'agit du symbole "{" ou d'un accès à une éventuelle table de hachage %var1.

    Je suppose qu'il faut plutôt écrire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $test_string =~ /$var1\{abc}/;

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

Discussions similaires

  1. [RegEx] Regex avec variables
    Par ciols dans le forum Langage
    Réponses: 2
    Dernier message: 22/01/2014, 10h56
  2. [RegEx] Regex avec des variables à l'interieur
    Par Kaldyris dans le forum Langage
    Réponses: 2
    Dernier message: 15/07/2008, 14h32
  3. Problème de Regex ... avec un point
    Par bugalood dans le forum Langage
    Réponses: 2
    Dernier message: 29/05/2005, 10h26
  4. Boucle avec variable à incrémenter
    Par snoop dans le forum Linux
    Réponses: 2
    Dernier message: 19/03/2004, 11h07
  5. Cacher Variable Url avec Variable Globale
    Par danuz dans le forum XMLRAD
    Réponses: 6
    Dernier message: 26/09/2003, 17h20

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