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 :

[langage] Caractère spécial "#" dans 1 expression régulière


Sujet :

Langage Perl

  1. #1
    Membre à l'essai
    Inscrit en
    Février 2004
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 31
    Points : 17
    Points
    17
    Par défaut [langage] Caractère spécial "#" dans 1 expression régulière
    Bonjour,

    Je voudrais matcher des lignes du type
    Comment puis-je faire pour que le caractère spécial "#" soit accepté ? J'ai essayé \# mais ça ne marche pas, la partie de code située après est automatiquement vue comme un commentaire.

    merci

  2. #2
    Membre à l'essai
    Inscrit en
    Février 2004
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 31
    Points : 17
    Points
    17
    Par défaut
    j'ai tenté de bluffer en écrivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    my $diez = '#' ;
    if ($_ =~ /$diezsho?w?\s+inte?r?f?a?c?e?/)
    mais à présent il n'accepte même plus la syntaxe. je pensais pourtant qu'on pouvait mettre des variable dans les exp reg ? non ?

  3. #3
    Membre à l'essai
    Inscrit en
    Février 2004
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 31
    Points : 17
    Points
    17
    Par défaut
    Ok c bon
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $_ =~ /$diez.?sho?w?\s+inte?r?f?a?c?e?/

  4. #4
    En attente de confirmation mail
    Inscrit en
    Mars 2002
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 67
    Points : 75
    Points
    75
    Par défaut
    je ne comprends pas trop ton problème: # n'étant pas un catactère spécial pour les expressions régulières, tu peux l'utiliser en tant que tel à l'intérieur d'une regexp, sans passer par une variable ou un caractère d'échappement.

  5. #5
    Membre à l'essai
    Inscrit en
    Février 2004
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 31
    Points : 17
    Points
    17
    Par défaut
    # est le caractère qui précède un commentaire en PERL, donc si, ça pose un "petit" problème dans les expressions regulieres car tout ce qui suit le # est vu comme un commentaire...

  6. #6
    En attente de confirmation mail
    Inscrit en
    Mars 2002
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 67
    Points : 75
    Points
    75
    Par défaut
    teste ce code, et tu verras:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    #!/usr/bin/perl
     
    use strict;
     
     
    my $chaine = 'c3550-12T#sh int';
     
    if ($chaine =~ /#yh/)   {
        print STDERR "test ok\n";
    }

  7. #7
    Membre à l'essai
    Inscrit en
    Février 2004
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 31
    Points : 17
    Points
    17
    Par défaut
    hum ah oui ca marche!
    yavait une erreur de frappe dans ton code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    my $chaine = 'c3550-12T#sh int'; 
     
    if ($chaine =~ /#sh/)   { 
        print "test ok\n"; 
    }

  8. #8
    Membre à l'essai
    Inscrit en
    Février 2004
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 31
    Points : 17
    Points
    17
    Par défaut
    ok.

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 16/11/2014, 11h57
  2. Afficher quote/guillemet dans un input
    Par EggY14 dans le forum Langage
    Réponses: 8
    Dernier message: 15/09/2006, 13h59
  3. Réponses: 3
    Dernier message: 07/09/2004, 13h01

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