Почему 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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