如何在python中使用正则表达式替换前缀和后缀

时间:2015-10-05 11:14:13

标签: python regex

我想在文本中找到一些已知的前缀和后缀,并用新的前缀和后缀替换它们,保持它们之间的原始文本不变。

示例:我想将<h1>Title</h1>更改为<h2>Title</h2> 其中&#34;标题&#34;可以是我不知道的任何文字。

我使用python,我发现如何更改前缀和后缀:

s = "<h1>Title</h1>"
replaced = re.sub(r'(<h1>).*?(</h1>)', r'<h2>new text</h2>', s)
print(replaced)

这会打印<h2>new text</h2>。 但是,如何在标签之间打印原始文本?

谢谢!

1 个答案:

答案 0 :(得分:1)

作为anubhava has already commented,您应该使用组:

replaced = re.sub(r'<h1>(.*?)</h1>', r'<h2>\1</h2>', s)

这是您的原始正则表达式,但您不需要为前缀和后缀创建组,只有内容足够:

device_id