Допустит, у меня есть следующие выражения:Regex для захвата поплавка из строки (и заменить захваченный поплавок)
2^3+4
5*3 + log(9) + 32/4 - 2.1^5
44 - 22 + sin(30)*2.34 + 51.32^4 + 17*32/11
Я хочу найти и захватить до числа «^», а после, а затем заменить он с Math.pow (capture1, capture2); так струны будет как:
Math.pow(2,3)+4
5*3 + log(9) + 32/4 - Math.pow(2.1,5)
44 - 22 + sin(30)*2.34 + Math.pow(51.32,4) + 17*32/11
Он должен быть совместим с Java регулярных выражений.
Мои мысли по этому поводу:
поиск:
(.*\d(\.\d)?)\^(.*\d(\.\d)?)
Заменить:
Math.pow(\1,\2)
Спасибо заранее.
Как насчет отрицательных чисел и составных выражений в круглых скобках? Мы не заботимся о них? – gramonov
Вы правы насчет отрицательных чисел, конечно. Вопрос был только о числах, а не о составных выражениях - в таком случае регулярные выражения не являются правильным решением. –
Чувак, ты бог регулярности! Спасибо –