gpt4 book ai didi

python - 正则表达式-处理 null(当表达式之间不存在字符时)

转载 作者:行者123 更新时间:2023-11-30 23:05:07 25 4
gpt4 key购买 nike

我遇到了正则表达式的情况。

我的文字看起来像:

text='abcd<a href="></a></div>abcd<i><a href=">World Bank</a>'

我想捕获所有超链接,我编写的正则表达式如下-

re.findall("<a href=.+?>(.+?)</a>", text, re.DOTALL)

当我运行它时,它给了我一个输出:

['</a></div>abcd<i><a href=">World Bank']

出现上述输出是因为

之间没有字符
<a href="></a> 

当我在上述表达式之间插入任何字符时,我会得到正确的输出。

根据上面的文本,我需要一个输出

['World Bank']

如何修改正则表达式以获得上述输出。

最佳答案

为什么不使用 HTML 解析器来代替?

使用 BeautifulSoup 的示例:

In [1]: from bs4 import BeautifulSoup

In [2]: text = 'abcd<a href="></a></div>abcd<i><a href=">World Bank</a>'
In [3]: soup = BeautifulSoup(text, "html.parser")

In [4]: [a.get_text() for a in soup.find_all("a")]
Out[4]: [u'World Bank']

关于python - 正则表达式-处理 null(当表达式之间不存在字符时),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33348907/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com