Почему regExp.test возвращает true, а затем false для одной и той же строкиJavascript

Форум по Javascript
Anonymous
Почему regExp.test возвращает true, а затем false для одной и той же строки

Сообщение Anonymous »

Я разрабатываю приложение-калькулятор на TypeScript, и мне нужно проверить, являются ли последние два (2) символа моей текущей формулы операторами (+,-,x,÷ или /).
Я использую следующее регулярное выражение для проверки каждого символа отдельно --> /[x/+-÷]/

Код: Выделить всё

 const isOperator = /([x/+-÷])/;
if (isOperator.test(display[display.length - 1]) && isOperator.test(display[display.length - 2])) return;


Я протестировал регулярное выражение для символов отдельно для отладки, и оба вернули true.

Код: Выделить всё

let isOperator = /([x+\-/])/g;
let display = "33++"
console.log(isOperator.test(display[display.length - 1]), isOperator.test(display[display.length - 2]), display[display.length - 1], display[display.length - 2] )
// output:  true false + +
Буду очень признателен за ваши отзывы, а пока я найду альтернативное решение без regExps...

Подробнее здесь: https://stackoverflow.com/questions/798 ... ame-string

Вернуться в «Javascript»