正则表达式替换python中分隔符之间的文本


问题内容

对于以下情况,我需要修复定界符之间的一些文本:
情况1:{12345}item_12345curies之间的数字)应该变为(添加了“ item_”,删除了花括号)。
情况2 :([999]方括号之间的数字)应变为total_999

所以这个字符串:{242424} from X [100] bulks, linked to {57575757} from Y for [500] units 应该看起来像这样:item_242424 from X total_100 bulks, linked to item_57575757 from Y for total_500 units

如何用正则表达式来完成?


问题答案:

这应该使您开始:

s = '{123} and [456]'

s = re.sub(r'\{(.+?)\}', r'foo_\1', s)
s = re.sub(r'\[(.+?)\]', r'bar_\1', s)

print s