Я хочу разделить основные математические операторы из строки формулы и получить операнды, я использую следующее регулярное выражение:
(/[+,-,*,/]/g)
Он отлично работает с + , / и *, но не с -.
Пример ввода 1:"a+b".split(/[+,-,*,/]/g) .
Пример вывода 1: ["a","b"]//работает нормально
Пример ввода 2:"a-b".split(/[+,-,*,/]/g) .
Пример вывода 2:["a-b"] //Not working fine :( should return ["a", "b"], but returns ["a-b"]
Я хотел бы знать, чего мне не хватает в моем выражении.
У меня есть альтернатива, т.е. перебирать всю строку и возвращать новый массив без операторов, но я хочу использовать регулярное выражение.
Спасибо
Вам не нужно , между символами в скобках.
попробуйте это "a-b".split(/[+,\-/,*,/]/g)
@Самир не используйте , в классе символов. Это не перечисляет все возможности, это означает «включить , в список вещей, соответствующих этому классу символов».



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Используйте
/[+*/-]/, не забывайте всегда оставлять-в начале/конце класса символов. Помещение-в начале класса символов работает во всех известных мне вариантах регулярных выражений.