gpt4 book ai didi

javascript - 如何使用正则表达式 Javascript 捕获组?

转载 作者:行者123 更新时间:2023-11-30 11:30:15 25 4
gpt4 key购买 nike

向所有可以正确使用 JS 的 Jedi 致以问候,不幸的是我不能。

我想遍历相应字符串“m10 m20 m30 xm40”的所有匹配项(xm40 除外),并提取数字 10、20、30:

'  m10 m20 m30 xm40'.match(/\s+m(\d+)/g)

但这是我在 chrome 控制台中得到的:

'  m10 m20 m30 xm40'.match(/\s+m(\d+)/g)
(3) [" m10", " m20", " m30"]

为什么“m”也被捕获了?我就是不明白。我尝试了很多组合但没有成功。有什么想法吗?

再见!

最佳答案

使用RegExp.exec()函数:

const regex = /\sm(\d+)/g;
const str = ' m10 m20 m30 xm40';
let result = [];

while ((m = regex.exec(str)) !== null) {
// This is necessary to avoid infinite loops with zero-width matches
if (m.index === regex.lastIndex) {
regex.lastIndex++;
}
result.push(+m[1]);
}

console.log(result);

关于javascript - 如何使用正则表达式 Javascript 捕获组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46506541/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com