繁体   English   中英

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

[英]How to replace prefix and postfix with regex in python

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

示例:我想将<h1>Title</h1>更改为<h2>Title</h2>其中“ Title”可以是我不知道的任何文本。

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

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

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

谢谢!

正如anubhava已经评论过的 ,您应该这样使用网上论坛

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

这是您的原始正则表达式,但是您无需为前缀和后缀创建组,仅需要内容即可:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM