搜尋

首頁  >  問答  >  主體

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

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

1

2

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

</code>

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

1

2

3

4

5

<code>比如

<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>

</code>

这里有一个例子

1

2

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

</code>

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

高洛峰高洛峰2887 天前665

全部回覆(1)我來回復

  • ringa_lee

    ringa_lee2017-04-17 17:53:26

    哈哈,這要是php就簡單了。直接過濾標籤完事了。然而這PY
    看你的意思是要從表格裡面,提取文字。 。
    那麼可以
    (.*?)(<.+?>)*(.*?)<td>(.*?)(<.+?>)*(.*?)</td>
    也可以分步,先 <td>(.+?)</td> 把内容取出来。然后把 <.+?> 全替换空。

    或者。。用回你的正则
    <td>(.+?)(<a href="(.*?)>(.*?)</a>)?(.+?)</td>

    +代表匹配至少1次,而*也可以逐步,先(.+?) 把內容取出來。然後把 <.+?> 全替換空。

    #🎜🎜#或。 。用回你的正規#🎜🎜#(.+?)(
    回覆
    0
  • 取消回覆