Python -- 正则表达式 -- 如何在两组字符串之间找到一个字符串

标签 python regex string tags

考虑以下几点:

<div id=hotlinklist>
  <a href="foo1.com">Foo1</a>
  <div id=hotlink>
    <a href="/">Home</a>
  </div>
  <div id=hotlink>
    <a href="/extract">Extract</a>
  </div>
  <div id=hotlink>
    <a href="/sitemap">Sitemap</a>
  </div>
</div>

您将如何在 python 中使用正则表达式删除站点地图行?

<a href="/sitemap">Sitemap</a>

下面可以用来拉出 anchor 标签。

'/<a(.*?)a>/i'

但是,有多个 anchor 标记。还有多个热链接,所以我们也不能真正使用它们吗?

最佳答案

不要使用正则表达式。使用 BeautfulSoup ,一个 HTML 解析器。

from BeautifulSoup import BeautifulSoup

html = \
"""
<div id=hotlinklist>
  <a href="foo1.com">Foo1</a>
  <div id=hotlink>
    <a href="/">Home</a>
  </div>
  <div id=hotlink>
    <a href="/extract">Extract</a>
  </div>
  <div id=hotlink>
    <a href="/sitemap">Sitemap</a>
  </div>
</div>"""

soup = BeautifulSoup(html)
soup.findAll("div",id="hotlink")[2].a

# <a href="/sitemap">Sitemap</a>

关于Python -- 正则表达式 -- 如何在两组字符串之间找到一个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/849912/

相关文章:

java - Java中如何使用String对象解析输入

c - 如何从由 iso_c_binding 的 Fortran 调用的 C 函数接收字符串?

python - ttk 菜单不会取消发布

python - Django 中的整数域数学

python - ValueError : Layer weight shape (43, 100) 与提供的权重形状不兼容 (412457, 400)

python - 使用 Python 构建动态 HTML 电子邮件内容

JavaScript 正则表达式

ruby 正则表达式扫描和 gsub 对 block 中捕获组的工作方式不同

javascript - js - 将 markdown 字符串(仅限粗体和斜体)解析为文本 + 样式 json 数组

android - 将字符串从服务传递到 Intent