У меня есть это регулярное выражение (который почти работает):Regex добавить пробелы в математическое выражение (кабина +++ = 1 + 2 + 3 -> кабина ++ + = 1 + 2 + 3)
s/(?<!\+|-|)(\+|-)(?!=|\+|-|)/ $1 /g;
https://regex101.com/r/oQ8qU8/2
И я хочу добавить пробел до и после каждого +
и -
char. Вот тест строка:
cab+=1+2+3+deb++-5+-5;
Вывод должен быть:
cab += 1 + 2 + 3 + deb++ - 5 + -5;
Я хотел бы, чтобы рассматривать все C/C++ особых случаев, таких как отрицательное число A=-C
->A = -C
, в до/после приращение переменной A++=3
->A++ = 3
...
Есть ли хорошее решение для использования регулярного выражения здесь?
's/([+ -])/$ 1/g'? –
Это очень сложная вещь в целом. Например, как насчет 'C+++++ a + b +++ a', что означает' C++ + ++ a + b + ++ a'? – Borodin
@Borodin Я медленно осознаю сложность своего вопроса :( – nowox