Doute sur une expression régulière - Perl - Programmation
Marsh Posté le 03-04-2008 à 14:25:37
/^([A-Z][a-z]{2})\/\1$/ |
Marsh Posté le 03-04-2008 à 14:44:43
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 :
Code :
|
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 :
Code :
|
ou
Code :
Code :
|
Merci
Marsh Posté le 03-04-2008 à 15:09:09
vire le ^ (et le $ au passage) au debut de la regex, c'est lui qui te pose problème:
/([A-Z][a-z]{2})\/\1/ |
Marsh Posté le 04-04-2008 à 09:36:04
Bonjour,
J'ai bien rajouté ta réponse dans mon programme; cela fonctionne, mais dans ma console on m'imprime toujours :
Code :
|
Je voudrais à présent enlever cette tabulation...
J'ai même essayé de rajouter ($text =~ s/\n/ /g pour tenter de supprimer les tabulations, mais cela m'affiche comme ci dessus
Pouvez vous m'aider
Merci
Marsh Posté le 04-04-2008 à 09:40:20
stansoad0108 a écrit : Bonjour,
|
fait voir le reste du code
Marsh Posté le 04-04-2008 à 11:34:16
D'accord, mais je te préviens, il est assez long...
Ce n'est pas si grave, si dans ma console, j'ai des tabulations....Donc ne te casses pas la tête pour ca !!!
Code :
|
Et je te donne une partie de ma console finale :
Code :
|
Marsh Posté le 04-04-2008 à 14:45:10
Tout d'abord tu n'as pas utilisé la regex que je conseillais c'est dommage par exemple "Leu/Too" sera matché alors que ça devrait pas.
La tienne est vraiment pas terrible en plus.
Ensuite, tu n'affiches pas la partie de texte qui correspond à ta recherche mais l'intégralité de "la ligne" où ta pattern a été rencontrée.
Par exemple si tu as dans $text:
toto titi tata Leu/Leu tiitii taataa tootoo |
et bien tu afficheras
Amino Acid Translation : toto titi tata Leu/Leu tiitii taataa tootoo |
c'est ce morceau de code qui va pas:
Code : |
Le plus simple reste peut être de virer les tabs de $text au même endroit que tu enlèves les retours à la ligne (l96):
Code : |
note: tout ça pourrait être ré-écrit en 5 fois moins de ligne et 10 fois plus clair, mais vu que ça a l'air de faire ce que tu veux on va pas se compliquer la vie
Marsh Posté le 08-04-2008 à 14:39:20
C'est bon j'ai rajouté ton expression dans ma sub text_rtn..Ca fonctionne
Merci
Marsh Posté le 03-04-2008 à 14:15:19
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