Bonjour
J'aimerais récupérer tous les résultats satisfaisant un masque avec une expression régulière en JavaScript.
Je m'explique :
J'ai par exemple le code HTML suivant :
<p align="left">Un premier paragraphe</p>
<p align="center">Un deuxième paragraphe centré</p>
<p align="left">Un dernier paragraphe</p>
... et j'aimerais en extraire chaque paragraphe sans les balises <p>.
J'applique donc la regexp suivante '<p(.*)>(.*)</p>' avec la fonction match :
var resultat = html.match(new RegExp('<p(.*)>(.*)</p>', 'gi'));
Mais au lieu d'obtenir (comme je le souhaiterais) ceci :
resultat[0] = 'Un premier paragraphe'
resultat[1] = 'Un deuxième paragraphe centré'
resultat[2] = 'Un dernier paragraphe'
... j'obtiens à la place ceci :
resultat[0] = '<p align="left">Un premier paragraphe</p>'
resultat[1] = ' align="left"'
resultat[2] = 'Un premier paragraphe'
et si j'essaie d'aller plus loins dans le tableau j'obtiens 'undefined'.
La fonction match ne s'en tient donc qu'à la première correspondance trouvée et ne stocke dans un tableau que chaque élément parenthésé (en plus de l'expression entière), et de même pour exec.
N'y a t'il pas une fonction ou un autre moyen qui permette de retourner toutes les expressions correspondantes au masque défini par la regexp ??
Merci beaucoup de vos réponses !