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 :

Problème expressions régulières


Sujet :

Langage Perl

  1. #1
    Candidat au Club
    Inscrit en
    Mai 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 6
    Points : 3
    Points
    3
    Par défaut Problème expressions régulières
    Bonjour je suis nouveau dans le monde du Perl et je commence tout juste à comprendre le fonctionnement des expressions régulières et de tous les méta caractères.

    Voila je suis plongé dans un script perl et je cherche a le comprendre. Malheureusement un moment, il y a un test avec une expression régulière que je n'arrive pas à comprendre. J'espere que quelqu'un va pouvoir m'éclaircir.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $string =~ /^[^\d]{2,4}<([^>]+)>\d?\1$/;
    J'ai également une deuxieme question :

    Je cherche a faire un script permettant d'enlever les balises html d'un string. Je pense avoir trouvé la bonne expression régulière mais je ne suis pas sûr :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $string =~ s/<(([^ >]|\n)*)>//g;
    [/CODE]

    en gros vu que les balises html sont entre <> j'enleve tous les morceaux compris entre ces 2 caractères.

    Merci d'avance pour votre aide.

  2. #2
    Mr6
    Mr6 est déconnecté
    Membre éclairé

    Homme Profil pro
    Inscrit en
    Septembre 2004
    Messages
    607
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2004
    Messages : 607
    Points : 794
    Points
    794
    Par défaut
    Salut !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $string =~ /^[^\d]{2,4}<([^>]+)>\d?\1$/;
    Veut dire que dans $string, on cherche quelque chose qui commence par 2 à 4 caracètres non numériques, suivis de caractères dans une balise, suivis d'un numérique, suivi d'une référence au contenu entre paranthèses.
    Donc dans ton exemple, tu vois retourner chaine introuvable puisque hello n'est pas story.

    Sinon, pour le nettoyage d'une page html, il y a HTML:: Parse


    @+
    Mr6

  3. #3
    Candidat au Club
    Inscrit en
    Mai 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Merci beaucoup pour ta réponse !

    Ca m'a bien eclairé
    Hop je clique sur résolu comme tu le préconises

  4. #4
    Candidat au Club
    Inscrit en
    Mai 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    En fait c'est pas si résolu que ça.

    J'ai bien compris tous le début de l'expression régulière mais à la fin tu dis

    suivi d'une référence au contenu entre paranthèses.
    ou est ce que tu vois cette info dans l'expression régulière ?

    C'est cette partie là ?


  5. #5
    Mr6
    Mr6 est déconnecté
    Membre éclairé

    Homme Profil pro
    Inscrit en
    Septembre 2004
    Messages
    607
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2004
    Messages : 607
    Points : 794
    Points
    794
    Par défaut
    Citation Envoyé par cottcott
    En fait c'est pas si résolu que ça.

    J'ai bien compris tous le début de l'expression régulière mais à la fin tu dis



    ou est ce que tu vois cette info dans l'expression régulière ?

    C'est cette partie là ?

    C'est juste le qui fait référence au contenu entre paranthèses.
    Le va dans le @+
    Mr6

  6. #6
    Candidat au Club
    Inscrit en
    Mai 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Merci beaucoup !

    J'ai compris maintenant.
    Donc je retourne chaine introuvable car ici hello et story n'ont rien a voir.

    Mais alors que viens faire ce "contenu entre prenthèses" dans le résultat, il n'y a rien entre parenthèse nul part ?

  7. #7
    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
    les parenthèses, elles y sont : $string =~ /^[^\d]{2,4}<([^>]+)>\d?\1$/;

  8. #8
    Candidat au Club
    Inscrit en
    Mai 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Ah oui, oulala j'avais pas vu.

    J'étais plus concentré sur la fin de l'expression et je ne voyais pas ses parenthèses.

    Merci à vous 2 de m'avoir éclairé.

    Aller je clos le topic définitivement, merci encore !

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

Discussions similaires

  1. Problème expression régulière
    Par nono44200 dans le forum Struts 1
    Réponses: 1
    Dernier message: 29/08/2007, 09h38
  2. Réponses: 3
    Dernier message: 20/04/2007, 14h47
  3. Problème expression régulières
    Par LEK dans le forum C#
    Réponses: 2
    Dernier message: 18/04/2007, 11h40
  4. [RegEx] problème expression régulière
    Par H-bil dans le forum Langage
    Réponses: 4
    Dernier message: 13/02/2007, 15h38
  5. Problème expressions régulières
    Par sozie9372 dans le forum Langage
    Réponses: 3
    Dernier message: 07/06/2006, 15h13

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