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 :

Expression régulière et variable


Sujet :

Langage Perl

  1. #1
    Nouveau membre du Club
    Inscrit en
    Janvier 2006
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 40
    Points : 31
    Points
    31
    Par défaut Expression régulière et variable
    Bonjour,

    j'ai un problème avec une expression régulière dans laquelle j'ai une variable:

    Le problème c'est que ma variable $i peut être un caractère spécial, par exemple '.' ou '?'

    Il faut donc que je j'utilise un antislash devant, mais avec une variable, si je fais :
    l'antislash ne porte que sur le $ de $i.

    comment faire ?

    Merci

  2. #2
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 587
    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 587
    Points : 2 036
    Points
    2 036
    Par défaut
    Chez moi, ça fonctionne bien tel quel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $i = ".";
    $a = 'toto.';
     
    print "ok\n" if ( $a =~ /$i$/ );
    Résultat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    >perl -w Document.pl
    ok <=== ça marche
    >Exit code: 0

  3. #3
    Membre émérite
    Avatar de Jasmine80
    Femme Profil pro
    Bioinformaticienne
    Inscrit en
    Octobre 2006
    Messages
    3 157
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 44
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Bioinformaticienne
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2006
    Messages : 3 157
    Points : 2 673
    Points
    2 673
    Par défaut
    Peut-être quelque chose de ce genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    my $a = "test/";
    my $i = "/";
    if ($i eq '^' | $i eq '.' | $i eq '/' )
    {
            $i = "\\".$i;
    }
    if ( $a =~ /$i$/ )
    {
            print "OK\n";
    }

    Jasmine,

  4. #4
    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
    Citation Envoyé par vichenze Voir le message
    Bonjour,

    j'ai un problème avec une expression régulière dans laquelle j'ai une variable:

    Le problème c'est que ma variable $i peut être un caractère spécial, par exemple '.' ou '?'

    Il faut donc que je j'utilise un antislash devant, mais avec une variable, si je fais :
    l'antislash ne porte que sur le $ de $i.

    comment faire ?

    Merci
    Utiliser quotemeta() sur $i, ou utiliser la regex m/\Q$i\E/.

    --
    Jedaï

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

Discussions similaires

  1. [RegEx] Test d'expression régulière sur variable POST
    Par Korben-Dallas dans le forum Langage
    Réponses: 3
    Dernier message: 02/04/2012, 15h49
  2. Utilisation de variables dans une Expression régulière
    Par Bonjovi51 dans le forum Langage
    Réponses: 4
    Dernier message: 13/03/2008, 12h19
  3. Expression régulière et variable
    Par Little_flower dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 04/03/2008, 18h03
  4. [AWK]expression régulière variable
    Par GmGari dans le forum Linux
    Réponses: 1
    Dernier message: 11/12/2007, 15h25
  5. Expressions régulières avec variable
    Par killprog dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 09/04/2006, 18h03

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