python - 如何用正则表达式匹配标签里面的a标签
高洛峰
高洛峰 2017-04-17 17:51:26
0
1
664

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

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

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

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

membalas semua(1)
左手右手慢动作

Haha, ini akan menjadi mudah jika ia adalah php. Hanya tapis teg terus dan anda selesai. Walau bagaimanapun, PY
bergantung pada apa yang anda maksudkan dengan mengekstrak teks daripada jadual. .
Kemudian anda boleh
<td>(.*?)(<. ?>)*(.*?)</td>
atau anda boleh melakukannya langkah demi langkah, dahulu <td>(. ?)</td> keluarkan kandungannya. Kemudian gantikan semua <. ?> dengan apa-apa.

Atau. . Gunakan ungkapan biasa anda
<td>(. ?)(<a href="(.*?)>(.*?)</a>)?(. ?)</td>

bermaksud sekurang-kurangnya 1 perlawanan, manakala * bermaksud 0 kali atau lebih

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan