import re
def addMultiplication(input1):
return re.sub(r'([^-+*/])\(', r'\1*(', input1)
У меня есть функция, которая будет принимать строку и добавлять символы умножения всякий раз, когда есть скобки, символизирующие умножение.
Некоторые примеры здесь (которые работают):
- "4 (3)" -> "4 * (3)"
- "(4) (3) ) "->" (4) * (3) "
- " 4 * 2 + 9 -4 (-3) "->" 4 * 2 + 9 -4 * (- 3) "
- "(- 9) (- 2) (4)" -> "(-9) * (2) * (4)"
- "4 ^ (3)" -> "4 ^ (3) "
- " (4-3) (4 + 2) "->" (4-3) * (4 + 2) "
- " (Aflkdsjalkb) (г ) "->" (Aflkdsjalkb) * (g) "
- " g (d) (f) "->" g * (d) * (f) "
- " (4 ) (3) "->" (4) * (3) "
Вот несколько примеров, в которых мне не удается (из-за добавленного пробела) стрелка указывает на вывод моего кода самый дальний правильно и жирным шрифтом это то, что я хочу:
- "(4) * (3)" -> "(4) * * (3)" | "(4) * (3)"
- "(4-3 * (2)" -> "4-3 * * (2)" | 4-3 * (2 ) "
Примечание. Мне пришлось добавить несколько лишних пробелов в двух вышеприведенных примерах, потому что в противном случае они продолжали выделяться курсивом и форматироваться. Так что, в основном, если я избавлюсь от пробелов в моих двух приведенных выше примерах , это работает, но когда я оставляю пробел после звездочки, он работает неправильно.
Как бы я включил лишние пробелы в мое выражение regrex? Я пытался использовать \s
, но я не уверен, как это работает .