Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Регулярное выражение, корректирующее арифметическое (https://javascript.ru/forum/misc/45591-regulyarnoe-vyrazhenie-korrektiruyushhee-arifmeticheskoe.html)

maternik 07.03.2014 09:19

Регулярное выражение, корректирующее арифметическое
 
Привет, все!
Придумываю регулярное выражение, чтобы корректировать арифметические выражения, заданные в строке, таким образом:

"0*0+-1*A1+P12*0".replace(/ пыщ пыщ пыщ /gi) = -A1
"D15*S3+-G8*-1+-1*-1".replace(/ пур пур пур /gi) = D15*S3+G8+1

Но пыщ пыщ как-то не придумывается! Как бы это?

Наверное, можно как-нибудь по-тупому, типа:
str.replace(/0/gi,"").replace(/1/gi,"").replace(/-1/gi,"-").replace(/\*\+/gi,"+")........

ksa 07.03.2014 11:07

Цитата:

Сообщение от maternik
"0*0+-1*A1+P12*0".replace(/ пыщ пыщ пыщ /gi) = -A1

Как вариант...

var val='0*0+-1*A1+P12*0';
val=val.replace(/(0\*[^+-]*)|([+-][^+-]*?\*0)/g,'');
val=val.replace(/\+-1\*/g,'-');
alert(val);

ksa 07.03.2014 11:10

Цитата:

Сообщение от maternik
Наверное, можно как-нибудь по-тупому

Одной заменой не сделаешь. :no:
Т.к. менять нужно разное на разное...

maternik 07.03.2014 11:24

Понятно :) спасибо!

kostyanet 07.03.2014 20:21

И так все посчитается, или зачем корректировать?


Часовой пояс GMT +3, время: 21:34.