Регулярное выражение - неправильный инструмент для этой работы. Не пытайтесь изменить текст JSON - измените структуру данных, в которую он разбирается.
def remove_empty_lists(item):
if isinstance(item, list):
if len(item) == 1:
return remove_empty_lists(item[0])
else:
return [remove_empty_lists(n) for n in item]
elif isinstance(item, dict):
return {k: remove_empty_lists(v) for k, v in item.iteritems()}
else:
return item
... с учетом структуры данных Python, созданной на основе ваших заявленных данных, делает все правильно:
>>> from pprint import pprint
>>> pprint(content)
{'childCategoryHistogram': [{'categoryId': ['175673'],
'categoryName': ['Computer Components & Parts'],
'count': ['21']},
{'categoryId': ['175672'],
'categoryName': ['Laptops & Netbooks'],
'count': ['9']}]}
>>> pprint(remove_empty_lists(content))
{'childCategoryHistogram': [{'categoryId': '175673',
'categoryName': 'Computer Components & Parts',
'count': '21'},
{'categoryId': '175672',
'categoryName': 'Laptops & Netbooks',
'count': '9'}]}