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

时间:2015-05-22 07:22:23

标签: python regex python-2.7 python-3.x

我有一个HTML字符串,我想用<span>代码替换<a>代码。

从这个:

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

到此:

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

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

注意data-oe-modeldata-oe-id需要合并为href。

这是否可以使用Python RegEx?

我试过this

2 个答案:

答案 0 :(得分:3)

您可以使用以下内容进行匹配:

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

并替换为以下内容:

<a href="\1\2" id="\3">\4</a>

请参阅DEMO

答案 1 :(得分:1)

您可以获取data-oe-model&amp;的值。 data-oe-id首先。然后使用re.sub

{{1}}

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