【问题标题】:Python Regex - how to find string between html tags?Python Regex - 如何在 html 标签之间查找字符串?
【发布时间】:2021-07-02 13:01:15
【问题描述】:

我正在尝试提取以下 Html 标记之间的字符串:

<div class="td-wrap">
   <a href="/universities/university-cambridge" class="uni-link">University of Cambridge </a>
</div>

我想要一个正则表达式,让我有:

University of Cambridge

如何在不使用 Beautifulsoup 的情况下获取目标文本?

感谢您的帮助!!

【问题讨论】:

  • 一种方法是在标签上使用split,因此您需要想出一个正则表达式来匹配开始和结束标签。试一试,如果您有问题,请回到这里。在这里提问之前,您应该先诚实地尝试解决您的问题。
  • 我觉得非常需要链接到这个经典答案:stackoverflow.com/a/1732454/4177009

标签: python html regex


【解决方案1】:

Html 比较棘手,推荐使用 BS4 方式

不管怎样,你可以试试一些正则表达式的东西

import re

s = """<div class="td-wrap"><a href="/universities/university-cambridge" class="uni-link">University of Cambridge </a></div>"""

## ANSWER CORE ##
match = re.search(r"<(\w)+.[^>]*>([^<]+)</\1", s)

print(match.group(2))

输出:

University of Cambridge 

在正则表达式的末尾,“\1”是对第一个子组“(\w)”的反向引用。 match.group(2) 返回由 "([^

【讨论】:

    猜你喜欢
    • 2016-01-12
    • 1970-01-01
    • 1970-01-01
    • 2016-10-11
    • 2019-12-04
    • 2023-02-25
    • 1970-01-01
    • 1970-01-01
    • 2010-10-24
    相关资源
    最近更新 更多