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 texte dans 2 balises


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 Problème texte dans 2 balises
    Bonjour à tous,

    A l'aide d'un parser, j'ai dois récupérer du texte. Cependant mon parser me ressort 2 textes au lieu d'un seul (dans une seule variable). En faite je n'arrive pas à trouver les bonnes délimitations dans mes balises avec des expressions régulières.
    Voici une partie du Code Source.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
       <th>GP mRNA Boundary<a href="#disclaimer" class="disclaimerLink">&dagger;</a>:</th>
                <td>chr4 : 160269425 - 164059535</td>
     
              </tr>
              <tr>
                <th>GP Gene Boundary<a href="#disclaimer" class="disclaimerLink">&dagger;</a>:</th>
                <td>chr3 : 154025426 - 154041535
     
                </td>
    Je voudrais récupérer seulement le texte : chr3 : 154025426 - 154041535 (le 2°)
    L'autre texte qui apparaît est : chr4 : 160269425 - 164059535
    J'ai remarqué qu'il y a des sauts de ligne. J'ai utilisé ça dans mes regex pour les différencier mais il m'affiche les 2 quand même !!

    Bout de code se trouvant dans la subroutine text de mon parser.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    # Text for GP Gene Boundary
    			if ($flag == 7 && ($text =~ /^(chr[0-9]+) : ([0-9]+) - ([0-9]+)(\s)*$/)){
    				print data_out "GP Gene Boundary : $1 : $2 - $3\n\n";
    			}
    Merci pour vos commentaires

  2. #2
    Membre éprouvé
    Avatar de Jasmine80
    Femme Profil pro
    Bioinformaticienne
    Inscrit en
    Octobre 2006
    Messages
    3 157
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 45
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Bioinformaticienne
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2006
    Messages : 3 157
    Par défaut
    Coucou,

    \d équivaut à [0-9]

    Donc, tu ne veux que les valeurs où le dernier nombre n'est pas suivi d'une balise fermante ... où y a-t'il autre chose comme critère de sélection?

    essaie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $text =~ /(chr\d+) : (\d+) - (\d+)\b/
    Mais si
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $text =~ /^(chr[0-9]+) : ([0-9]+) - ([0-9]+)(\s)*$/
    récupère tes deux lignes, c'est qu'il ne voit pas les balises ... Je suis un peu perdue

  3. #3
    Membre confirmé
    Inscrit en
    Octobre 2007
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 99
    Par défaut
    En faite, en exécutant plusieurs possibilités, ça fonctionne avec ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    # Text for GP Gene Boundary
    			if ($flag == 7 && ($text =~ /^(chr[0-9]+) : ([0-9]+) - ([0-9]+)\s/)){
    				print data_out "GP Gene Boundary : $1 : $2 - $3\n\n";
    			}
    Je devais enlever les parenthèses autour de \s et le $ pour fin de ligne !!

    Je vais aussi essayer ta technique...Je te dirai si cela fonctionne !!
    Merci quand même !

  4. #4
    Membre éprouvé
    Avatar de Jasmine80
    Femme Profil pro
    Bioinformaticienne
    Inscrit en
    Octobre 2006
    Messages
    3 157
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 45
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Bioinformaticienne
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2006
    Messages : 3 157
    Par défaut
    oui, cela fonctionne aussi chez moi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ($text =~ /(chr\d+) : (\d+) - (\d+)\s+/)
    Pour les parenthèses
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (($flag == 7) && ($text =~ /^(chr[0-9]+) : ([0-9]+) - ([0-9]+)\s/))

  5. #5
    Membre confirmé
    Inscrit en
    Octobre 2007
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 99
    Par défaut
    Ta suggestion ne fonctionne pas !! a cause du "\b" que tu as rajouté à la fin de l'exp reg.
    Mais merci quand même pour tes conseils

    ++

  6. #6
    Membre éprouvé
    Avatar de Jasmine80
    Femme Profil pro
    Bioinformaticienne
    Inscrit en
    Octobre 2006
    Messages
    3 157
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 45
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Bioinformaticienne
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2006
    Messages : 3 157
    Par défaut
    Ca va? le problème est résolu?

  7. #7
    Membre confirmé
    Inscrit en
    Octobre 2007
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 99
    Par défaut
    Ouep !!

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

Discussions similaires

  1. Problème récupération texte dans des balises HTML
    Par stansoad0108 dans le forum Langage
    Réponses: 20
    Dernier message: 24/06/2008, 15h55
  2. [XSLT]problème d'appel de texte dans une balise à partir d'un attribut
    Par docteur chépère dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 18/01/2007, 10h57
  3. Plusieurs images et un texte dans une balise <td> ?
    Par Tententai dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 09/01/2007, 14h29
  4. Afficher sur plusieur ligne du texte dans une balise <td>
    Par G_Kill dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 02/12/2006, 08h50
  5. positionement texte dans la balise textarea
    Par mikado_O dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 20/07/2006, 07h37

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