Question de regex

Bonjour,

je cherche la formule pour trouver dans une chaine tous les P contenant un simple BR
je sais que mon problème se trouve lorsque j'utilise le .*? car la chaine <p>test</p><p class="toto">test</p><p class="tata"><br></p><p class="titi"><br></p><p class="tutu">test</p><p><br></p> devient un match.
or ce match ne m'intéresse pas

j'utilise /(<p.*?><br><\/p>)/gi

en principe j'aimerai avoir 3 match pour cette chaine :

<p>test</p><p class="toto">test</p><p class="tata"><br></p><p class="titi"><br></p><p class="tutu">test</p><p><br></p><p class="tete">test</p>


je ne suis pas très doué en regex mais je demande qu'à apprendre

2 réponses

  1. Modérateur
    Bonjour,

    <p[^>]*?><br><\/p>
    

    0
    1. pffff j'étais sûr qu'en posant la question je trouverais une réponse.
      ma réponse est autre.
      l'utilisation du regex n'est peut-être pas le bon chemin.
      je peux tout simplement rechercher tous les elements <p> avec un .find('p') puis regarder 1 par 1 leur contenu.
      avec cette méthode je me retrouve avec une suite d'objet. ce qui m'offre plus de choix en manipulation par la suite
      0
      1. Modérateur
        Enfin.. la regex que je t'ai donné fait bien ce que tu nous as demandé...
        0
      2. @jordane45ben ouais.
        0