我試圖用'x'和'x²'替換數學字符串中的每個'1x'和'1x²':regexp用'x'和'x²'替換'1x'和'1x²'(javascript)
var str = '1x² + (1x − 11x)(1x² + 1x²)'; //string to be parsed
var reg = str.replace(/1x/g, 'x');
console.log(reg);
問題是我的正則表達式還匹配數字'11x'或'21x',這顯然不是我想要的。所以我的代碼當前輸出x² + (x − 1x)(x² + x²)
而不是x² + (x − 11x)(x² + x²)
。
我知道爲什麼我會得到這種行爲,但我不知道如何解決它。我如何才能讓我的正則表達式匹配每個1x和1x²?當且僅當它們沒有像「11x」或「221x2」之類的其他數字?
使用單詞邊界? 'str.replace(/ \ b1x \ b/g,'x');' –