a标签 url 正则怎么写(python 或者js)

<a target="blank"href="http://a.b.c.d/abc.php?viewkey=11111111111d5c2a51d1e2&amp;page=1&amp;viewtype=basic&amp;category=rf"></a>
<a target="blank"href="http://a.b.c.d/abc.php?viewkey=6d7a7f6a6e9c2a5191e2&amp;page=1&amp;viewtype=basic&amp;category=rf"></a>

<a target="blank"href="http://a.b.c.d/abc.php?viewkey=6d7a7f6a6e9c2a5191e2&amp;page=1&amp;viewtype=basic&amp;category=rf"></a>


<a target="blank"href="http://a.b.c.d/abc.php?viewkey=6d7a7f6a6e9c2a5191e2&amp"></a>

<a target="blank"href="http://a.b.c.d/abc"></a>


<a target="blank"href="http://a.b.c.d/123"></a>

我要取 href里的链接

6个链接 前三个符合条件 正则怎么写(即链接中必须带有参数viewkey page viewtype category)

第二个和第三个链接相同 怎么去重复(python下)

阅读 3.7k
2 个回答
# python 2.7

import re

a = '''<a target="blank"href="http://a.b.c.d/abc.php?viewkey=11111111111d5c2a51d1e2&amp;page=1&amp;viewtype=basic&amp;category=rf"></a>
<a target="blank"href="http://a.b.c.d/abc.php?viewkey=6d7a7f6a6e9c2a5191e2&amp;page=1&amp;viewtype=basic&amp;category=rf"></a>

<a target="blank"href="http://a.b.c.d/abc.php?viewkey=6d7a7f6a6e9c2a5191e2&amp;page=1&amp;viewtype=basic&amp;category=rf"></a>


<a target="blank"href="http://a.b.c.d/abc.php?viewkey=6d7a7f6a6e9c2a5191e2&amp"></a>

<a target="blank"href="http://a.b.c.d/abc"></a>


<a target="blank"href="http://a.b.c.d/123"></a>'''

print set(re.findall('''(?=.*(?:viewkey))(?=.*(?:page))(?=.*(?:viewtype))(?=.*(?:category))href=["']([^'"]+)''', a))

提取前三个链接:

links= re.findall(r'href=\"(.*?=rf)\"',l_string,re.S)

去重:

new_links=set(links)

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题