Regex reemplaza texto entre delimitadores en python

Necesito corregir un texto que se encuentra entre los delimitadores para los siguientes casos:
Caso 1: {12345} (números entre curlies) debe convertirse en item_12345 (agregado ‘item_’, eliminado llaves).
Caso 2: [999] (números entre corchetes) debe ser total_999

Así que esta cadena: {242424} from X [100] bulks, linked to {57575757} from Y for [500] units deberían aparecer así: item_242424 from X total_100 bulks, linked to item_57575757 from Y for total_500 units

¿Cómo se puede hacer esto con expresiones regulares?

Esto debería hacerte comenzar:

 s = '{123} and [456]' s = re.sub(r'\{(.+?)\}', r'foo_\1', s) s = re.sub(r'\[(.+?)\]', r'bar_\1', s) print s 
 >>> import re >>> curly = re.compile('\{([0-9]+)\}') >>> square = re.compile('\[([0-9]+)\]') >>> s = "{242424} from X [100] bulks, linked to {57575757} from Y for [500]" >>> re.sub(square, lambda x: 'total_'+x.group(1), re.sub(curly, lambda x: 'item_ '+x.group(1),s)) 'item_242424 from X total_100 bulks, linked to item_57575757 from Y for total_50 0'