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 :

Doute sur une expression régulière


Sujet :

Langage Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Octobre 2007
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 99
    Par défaut Doute sur une expression régulière
    Bonjour à tous,

    Simple doute, donc simple question sur les regex :
    Dans un de mes documents, je retrouve des phrases sous la forme : "Leu/Leu" ou "Pas/Pas" ou "Tir/Tir"..."Xxx/Xxx"

    Je ne trouve pas une expression régulière pour les récupérer. Il faudrait dire
    que les 2 chaînes de caractères sont identiques, commençant par une majuscule, composées de 3 lettre et séparées par un "/".

    Il faudrait completer cette expression : (en faisant en sorte que ces 2 chaines de caractères soient identiques !!)
    $S =~ /^[A-Z]{1}[a-z]{2}\/[A-Z]{1}[a-z]{2}$/

    Merci pour vos commentaires

  2. #2
    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
    {1} est implicite en l'absence de quantificateur, inutile de le mettre.
    Pour le côté "identique", renseigne toi sur les backreferences :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $S =~ m#^([A-Z][a-z]{2})/\1$#
    --
    Jedaï

  3. #3
    Membre confirmé
    Inscrit en
    Octobre 2007
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 99
    Par défaut
    Merci pour ta réponse.

    Mais cela dit, j'ai remarqué dans ma page html, les informations du type : "Xyz/Xyz"...sont ancrées dans des balises avec pour mise en forme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <td>
     
                Asp/Asp
              </td>
    On y retrouve des sauts de lignes et tabulations !! Pouvez vous ainsi m'aider pour créer l'expression régulière pour récupérer cette informations

    Idées ???
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $s =~ m/^\n\n\t([A-Z]{1}[a-z]{2}\/[A-Z]{1}[a-z]{2})$/
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $s =~ m/^\n\n\t([A-Z][a-z]{2})/\1
    Merci

  4. #4
    Membre confirmé
    Inscrit en
    Octobre 2007
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 99
    Par défaut
    Re-bonjour,

    Suite à mon dernier message, j'ai réussi à me "débrouiller", cela fonctionne...
    Ma console m'iImprime : Leu/Leu......

    Cependant la mise en page ne me convient pas :
    Dans le code html on avait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <td>
     
                Leu/Leu
              </td>
    Pour récupérer cette information, j'ai utilisé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if($flag == 6 &&  ($text =~ /^\s[^0-9]+\/[^0-9]+$/)){
    		print "Amino Acid Translation : $text\n";
    	}
    Et dans ma console, je retouvre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Amino Acid Translation :                           Leu/Leu
    Je ne sais pas comment enlever cet espace.

    Merci pour vos commentaires

  5. #5
    Membre confirmé
    Inscrit en
    Octobre 2007
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 99
    Par défaut
    C'est bon, j'ai trouvé mon erreur...Il suffisait d'ajouter

    dans une boucle "if" dans la fonction text_rtn.

    Merci de vos aides...

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

Discussions similaires

  1. Demande d'aide sur une expression régulière
    Par bubulemaster dans le forum Débuter
    Réponses: 4
    Dernier message: 03/04/2008, 14h19
  2. Problème sur une expression régulière
    Par GregLig dans le forum Langages de programmation
    Réponses: 2
    Dernier message: 22/12/2007, 14h34
  3. Un peu d'aide sur une expression régulière particulier
    Par ruana dans le forum Général Python
    Réponses: 2
    Dernier message: 03/06/2007, 20h04
  4. [RegEx] Aide sur une expression régulière toute simple
    Par tchoumak dans le forum Langage
    Réponses: 3
    Dernier message: 29/11/2005, 16h46
  5. Problème sur une expression régulière
    Par Verbal-Quint dans le forum Langage
    Réponses: 6
    Dernier message: 12/11/2004, 11h54

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