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 d'expression réguliere.


Sujet :

Langage Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 39
    Par défaut Problème d'expression réguliere.
    Bonjour,

    Je tente de supprimer les renvois à la lignes qui sont en excès.
    Ma variable contient de <br/> pour effectuer les saut à la ligne en cas d'affichage. Sauf que parfois plusieurs sont situés à la suite.

    J'ai tenté une expression régulière, mais celle-ci ne fonctionne pas.. (suis un débutant en expression régulière, alors excusez moi si la faute est grossière...)

    Voici ma tentative:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $arguments =~ /<br\/>+//g;
    je tente de détecter si deux (ou plus) <br/> se suivent et ensuite de supprimer les <br/> en excès.

  2. #2
    Membre Expert
    Avatar de Woufeil
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    1 076
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 1 076
    Par défaut
    Salut,

    Actuellement, le + ne concerne que le >, ce qui n'est pas exactement ce que tu veux. De plus, + signifie 1 ou plus et non deux ou plus.
    Enfin, si j'ai bien compris, tu veux remplacer n retour à la ligne par un seul retour à la ligne, il te faut donc rajouter quelque chose dans ta substitution
    Essaie plutôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $arguments =~ s/(<br\/>){2,}/<br\/>/g;
    Cela devrait marcher dans les cas les plus simples. Mais par exemple, si tes deux br sont séparés par des espaces ou pire des sauts de ligne, ça ne fonctionnera plus, à toi d'adapter.

  3. #3
    Expert confirmé
    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
    Par défaut
    Tu as un problème de groupage dans ta regex : le '+' ne porte que sur '>'.

    --
    Jedaï

  4. #4
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 39
    Par défaut
    Merci de vos réponses!

    J'ai vu ou était mon précédent problème.
    En effet il y avait un retour la ligne après mon <br/>
    j'ai donc adapté et j'ai réussi du premier coup ^^

    Mitou

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

Discussions similaires

  1. problème expression réguliere
    Par knebhi dans le forum Langage
    Réponses: 6
    Dernier message: 10/02/2010, 19h15
  2. probléme d'expression réguliere
    Par penguin50 dans le forum Ruby
    Réponses: 3
    Dernier message: 06/06/2008, 23h41
  3. Problème expressions régulieres
    Par PlazaDel62 dans le forum Langage
    Réponses: 6
    Dernier message: 22/04/2008, 16h53
  4. [RegEx] Problème avec une expression réguliere
    Par figatelliSTI dans le forum Langage
    Réponses: 4
    Dernier message: 20/02/2008, 09h59
  5. expression réguliere en c++
    Par alambics dans le forum MFC
    Réponses: 9
    Dernier message: 10/03/2004, 20h19

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