查找所有<href> HTML 标记并使用 Python 正则表达式附加目标空白值



我要查找所有

<a href='https://example.com/'>

在大文件中引用,并附加

target='_blank' rel='noopener noreferrer'

如果缺少选项,则将

选项添加到标签的末尾。

大致地,我做了以下操作:

re.sub(r'<a href=([^>]+)', r'<a href=([^>]+)' + " target='_blank' rel='noopener noreferrer'", content)

注意:content包含要修改的正文。

但是,第二个参数,它应该是要替换的值,却混淆了结果。

我得到的输出是:
<a href=([^>]+) target='_blank' rel='noopener noreferrer'>

预期的结果应该是:

<a href='https://example.com/' target='_blank' rel='noopener noreferrer'>

我做错了什么,我如何解决这个问题?

试试这个:(***如果专业编码,使用ti7建议的工具)

import re
content = "<a href='https://example.com/'>"
x = re.sub(r'(<a href=([^>]+))', r'1' + " target='_blank' rel='noopener noreferrer'", content)
print(x)
output:
<a href='https://example.com/' target='_blank' rel='noopener noreferrer'>

如果您可以使用第三方库,那么BeautifulSoup可能非常适合您!https://www.crummy.com/software/BeautifulSoup/bs4/doc/

from bs4 import BeautifulSoup
soup = BeautifulSoup(html_contents, "html.parser")
soup.find_all("a")

最新更新