【发布时间】:2022-11-28 02:07:50
【问题描述】:
我正在尝试使用带有 JS 的正则表达式来删除所有连续的数字。我尝试了两种方法,第二种方法通过了,但我想知道第一种方法有什么问题
第一次尝试:
let a = "1 2 3 3 4 5 5 6 7 8 8 9";
a = a.split(" ").join("");
for (let i of a) {
a = a.replace(/ii/g, i);
}
console.log(a)
第二个
let a = "1 2 3 3 4 5 5 6 7 8 8 9";
a = a.split(" ").join("");
for (let i of a) {
a = a.replace(new RegExp(`(${i})(${i})`, "g"), "$1");
}
console.log(a)
【问题讨论】:
-
您的第一段代码实际上是在字符串中查找
'ii',而不是在 for 循环中查找变量。 -
顺便说一句,如果您想自己学习理解和编写正则表达式,我建议您尝试像regexr 这样的教育工具并在其中进行尝试。