Problème regexp \1 [PERL] - Perl - Programmation
Marsh Posté le 10-06-2015 à 15:37:35
maxou3513 a écrit : Bonjour,
|
Tu demandes de remplacer $a par $b, mais $a est tout ton numéro !
Essaie :
Code :
|
Marsh Posté le 10-06-2015 à 15:50:52
Tu contourne juste le problème imaginons ce code ci-dessous :
Code :
|
Je voudrais que $tel retourne +33635678396gmail.fr et pourtant ça ne retourne pas ceci, je voudais savoir comment fonctionne le \1, je ne comprend pas pourquoi il ne marche pas
Marsh Posté le 10-06-2015 à 16:14:41
Tu veux aussi supprimer le @ ?
Marsh Posté le 10-06-2015 à 17:06:48
En gros j'avais un fichier avec des centaines d'expressions régulière de ce type : /^06([0-9]{8}).*$/+336\1/, j'ai donc coupé en deux parties a et b l'expression comme le première exemple que j'ai donné. Il faut que quand je rentre un numéro il le transforme avec la bonne regexp parmi la centaine. Mais le script n'arrive pas à comprendre le \1. Je voulais savoir comment faire pour traiter tous les cas si jamais la regexp suivante était du format de mon deuxième exemple.
Marsh Posté le 10-06-2015 à 17:49:50
J'ai pas pigé le truc mais pour ceci
Citation : Mais le script n'arrive pas à comprendre le \1. |
tu ne chercherais pas plutôt $1?
exemple pour disons rajouter des apostrophes autour de certains mots (juste pour montrer l'utilisation du $1):
s/(mot1|mot2|mot3)/"$1"/g;
(edit grammaire...)
Marsh Posté le 10-06-2015 à 19:45:13
Code :
|
l'emploi de ee a la fin fait toute la différence:
le premier e évalue $b en "+336".$1 et le second évalue "+336".$1
A+,
Marsh Posté le 10-06-2015 à 15:33:32
Bonjour,
J'ai un problème avec mon code ci-dessous, je voudrais que $tel me renvoie +33635678396 mais ce programme me renvoie +336\1, je ne comprend pas.
Merci de m'aider, ça fait un moment que je bloque, je ne trouve pas la solution.