Предположим, у вас есть следующая строка:
5 + 5 (5)
Я хочу вставить знак умножения между 5 и (5)
5 + 5 * (5)
Теперь также предположим, что у вас есть следующие другие возможности:
5 + (5) (5) * * 1016
Я хочу вставить знак умножения между (5) и (5)
* * 5 тысяча двадцать-одина + (5) * (5) * * тысяча двадцать две
Моя попытка:
import re
ex1 = '4+6.9(39.3)(-2.3)(5+4)'
def convert(string):
return re.sub(r"((?:\d+)|(?:[a-zA-Z]\w*\(\w+\)))((?:[a-zA-Z]\w*)|\()", r"\1*\2", string)
print(convert(ex1))
* 1 028 * 4 + 6,9 * (39,3) (- 2,3) (5 + 4)
Этот код добавляет умножение только к первому экземпляру.
Если строка:
ex2 = '5(5)+5(5)+5(5)'
* +1037 * 5 * (5) + 5 * (5) + 5 * (5)
Код работает для чисел перед скобками.
Как я могу изменить код, чтобы включить закрытые круглые скобки перед открытой?