我想用字符串替换多个正则表达式组。但是我希望每个小组都有不同的替代方式。
给出字符串:
"{Family} is made up of [Father], [Mother], and [Daughter] also there are 100 monkeys in a tree."
我想获得:
"<b>{Family}</b> is made up of <i>[Father]</i>, <i>[Mother]</i>, and <i>[Daughter]</i> also there are <h4>100</h4> monkeys in a tree."
我正在使用多个re.sub传递。我对正则表达式很陌生,无法找到关于单个替换是否可行的信息?如果是这样,替换格式是什么样的?
这就是我所拥有的:
import re
text = re.sub(r'(\{[^\}]*\})', r'<b>\1</b>', text)
text = re.sub(r'(\[[^\]]*\])', r'<i>\1</i>', text)
re.sub(r'(\d+)', r'<h>\1</h>, text)
以下可能吗?甚至是正确的方法?
re.sub(r'(\{[^\}]*\})|(\[[^\]]*\]|(\d+))', ???, text)
编辑:
将问题更改为更具体。感谢您的解决方案,但它们不一定允许您捕获任何正则表达式组,并且没有具体回答替代方法是否允许直接使用。