recherche

Maison  >  Questions et réponses  >  le corps du texte

python - 如何用正则表达式匹配标签里面的a标签

这里有这样一个问题,我们会遇到这样的情况:

<td>(1)(<a href="(2)">(3)</ a>)(4)</ td>

这里的2,3位置决定的a标签可能存在,而1,4的位置可能由内容也可能没有内容,能不能用一个正则表达式让不管a标签存在与否都匹配出1,4位置的内容呢

比如
<td><a href=""></a>this is not empty</td>
<td>this is not empty<a href=""></a></td>
<td>this is not empty><a href=""></a>this is not empty</td>

这里有一个例子

<td>(.+?)(<a href="(.+?)>(.+?)</a>)?(.+?)</td>

但是这显然是不能满足我们的需求的,能找到正确的方案吗?

高洛峰高洛峰2887 Il y a quelques jours667

répondre à tous(1)je répondrai

  • ringa_lee

    ringa_lee2017-04-17 17:53:26

    Haha, ce serait facile si c'était du php. Filtrez simplement les balises directement et vous avez terminé. Cependant, PY
    dépend de ce que vous entendez par extraire du texte du tableau. .
    Ensuite, vous pouvez
    <td>(.*?)(<. ?>)*(.*?)</td>
    ou vous pouvez le faire étape par étape, d'abord <td>(. ?)</td> retirer le contenu. Remplacez ensuite tout <. ?> par rien.

    Ou. . Utilisez vos expressions régulières
    <td>(. ?)(<a href="(.*?)>(.*?)</a>)?(. ?)</td>

    signifie au moins 1 match, tandis que * signifie 0 fois ou plus

    répondre
    0
  • Annulerrépondre