使用Python正则表达式将span标记替换为锚定标记

2024-09-27 21:27:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个HTML字符串,我想用<a>标记替换<span>标记。在

从这里: 在

<span>
    <span data-oe-model="demo.demo" data-oe-id="33" id="a">
        @Joseph Walters
    </span>
    hi
</span>

为此: 在

^{pr2}$

我想要使用RegEx的3个组:data-oe-modeldata-oe-id,和名称@Joseph Walters。在

注意data-oe-model和{}需要合并到href中。在

对于Python正则表达式,这是可能的吗?在

我试过了。在


Tags: 字符串标记名称iddatamodeldemohtml
2条回答

可以使用以下选项进行匹配:

<span data-oe-model="([^"]*)"\s+data-oe-id="([^"]*)"\s+id="([^"]*)">(.*?)\</span>

并替换为以下内容:

^{pr2}$

DEMO

您可以先获取数据oe模型和数据oe id的值。然后使用re.sub公司在

a="""<span><span data-oe-model="demo.demo" data-oe-id="33" id="a">@Joseph Walters</span> hi</span>"""
data_oe_model = re.findall(r'data-oe-model="(.*?)"', a)[0]
data_oe_id = re.findall(r'data-oe-id="(.*?)"', a)[0]
b = re.sub('span data-oe-model="(.*?)" data-oe-id="(.*?)"', 'a href='+data_oe_model+'/'+data_oe_id, a)

print  b

Output: <span><a href=demo.demo/33 id="a">@Joseph Walters</span> hi</span>

注意:在通过列表索引获取值时进行一些验证。在

相关问题 更多 >

    热门问题