gpt4 book ai didi

javascript - 返回匹配的先行组

转载 作者:行者123 更新时间:2023-11-29 10:59:40 25 4
gpt4 key购买 nike

你好,

我正在尝试返回给定字符串的 3 位数字组,其中数字在 JavaScript 中“消耗”了两次:

从字符串 "123 456" 我希望 exec 为第一个匹配返回 ["1", "12"] , ["2", "23"] 等等。

我试过像这样使用前瞻:

let exp = /(\d(?=\d\d))/g;    
let match;

while(match = exp.exec("1234 454")) {
console.log(match);
}

然而,这仍然只是两位数之前的每个数字。

有人有解决办法吗?我搜索过但不确定要搜索什么,所以我可能遗漏了一些东西。

提前致谢!

最佳答案

您需要在此处捕获积极的前瞻性信息:

let exp = /(?=((\d)\d))/g;    
let match;
while(match = exp.exec("1234 454")) {
if (match.index === exp.lastIndex) { // \
exp.lastIndex++; // - Prevent infinite loop
} // /
console.log([match[1], match[2]]); // Print the output
}

(?=((\d)\d)) 模式匹配一​​个位置,后跟 2 个数字(捕获到第 1 组)第一个被捕获到第 2 组。

关于javascript - 返回匹配的先行组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49650421/

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