Я пытаюсь заменить все «1x» и «1x²» в математической строке «x» и «x 2»:regexp заменить '1x' и '1x²' на 'x' и 'x²' (javascript)
var str = '1x² + (1x − 11x)(1x² + 1x²)'; //string to be parsed
var reg = str.replace(/1x/g, 'x');
console.log(reg);
Проблема мое регулярное_выражение также соответствует номерам, как «11й» или «21й», что, очевидно, не то, что я хочу. Таким образом, мой код в настоящее время выводит x² + (x − 1x)(x² + x²)
вместо x² + (x − 11x)(x² + x²)
.
Я знаю, почему у меня такое поведение, но я не знаю, как это исправить. Как я могу заставить мое регулярное выражение соответствовать каждому 1x и 1x² тогда и только тогда, когда им не предшествует другое число, например «11x» или 221x²?
Использование границы слова? 'str.replace (/ \ b1x \ b/g, 'x');' –