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 :

perl regular expression


Sujet :

Langage Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 14
    Par défaut perl regular expression
    Bonjour,

    pourriez vous me dire ce qui ne va pas dans l'expression reguliere qui me génère une erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    if($content=~/m/<TR class(.*)>(.*)<\/TABLE>/){
    	$usefull=$2;
    }
    syntax error at Parsing.pl line 14, near "(."
    Execution of Parsing.pl aborted due to compilation errors.

    merci par avance

  2. #2
    Expert confirmé

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    3 577
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2009
    Messages : 3 577
    Par défaut
    C'est le / avant le m/...

    Au passage pour éviter la variable à effet de bord $2, tu peux écrire ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if(my ($usefull) = $content =~ m/<TR class(?:.*)>(.*)<\/TABLE>/){
      # ...
    }

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 14
    Par défaut
    merci,

    ayant toujours des difficultés avec les regexp
    j'en cherche une qui matche l'expression suivante

    <TD style=3D"WIDTH: =
    20px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>

    celles-ci ne semblent pas fonctionner
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ~m/<TD style=3D"WIDTH: =.*&nbsp;*<\/TD>/
     
    ~m/<TD.*&nbsp;<\/TD>/

  4. #4
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2013
    Messages
    247
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2013
    Messages : 247
    Par défaut
    Citation Envoyé par yoruichiy Voir le message
    merci,

    ayant toujours des difficultés avec les regexp
    j'en cherche une qui matche l'expression suivante

    <TD style=3D"WIDTH: =
    20px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>

    celle-ci ne semble pas fonctionner
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ~m/<TD style=3D"WIDTH: =.*&nbsp;*<\/TD>/
    je pense que ces 2 expressions doivent matcher:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    ~m/<TD style=3D"WIDTH: =.*&nbsp;<\/TD>/
    ~m/<TD style=3D"WIDTH: =.*(&nbsp;)*<\/TD>/

  5. #5
    Expert confirmé Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 352
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 352
    Par défaut
    Bonjour,
    Si tu essaies de matcher des lignes directement depuis un fichier, je pense que cela ne fonctionnera pas car au vu de ton input, celui-ci est sur 2 lignes.

  6. #6
    Rédacteur/Modérateur

    Avatar de Lolo78
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mai 2012
    Messages
    3 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 612
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Philou67430 Voir le message
    Au passage pour éviter la variable à effet de bord $2, tu peux écrire ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if(my ($usefull) = $content =~ m/<TR class(?:.*)>(.*)<\/TABLE>/){
      # ...
    }
    En fait, il n'y a même pas besoin de parenthèses:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if(my ($usefull) = $content =~ m/<TR class.*>(.*)<\/TABLE>/){
      # ...
    }
    [/QUOTE]

Discussions similaires

  1. [Regular expression] Possessive quantifiers
    Par Pragmateek dans le forum Langage
    Réponses: 1
    Dernier message: 24/06/2006, 12h55
  2. perl et expressions regulières(debutant)
    Par Shyboy dans le forum Langage
    Réponses: 1
    Dernier message: 13/06/2006, 15h48
  3. [debutant] Regular Expression
    Par absolut75 dans le forum Collection et Stream
    Réponses: 5
    Dernier message: 13/06/2006, 01h43
  4. [RegEx] Empty regular expression
    Par Khrysby dans le forum Langage
    Réponses: 2
    Dernier message: 24/04/2006, 22h25
  5. [Regular Expressions] Numérotation romaine
    Par ramalho dans le forum Valider
    Réponses: 3
    Dernier message: 24/02/2004, 17h43

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