gpt4 book ai didi

javascript - js如何使用RegExp统计字符串中相同字符组成的子串

转载 作者:行者123 更新时间:2023-11-28 17:26:05 25 4
gpt4 key购买 nike

js中有没有办法使用RegExp和str.match()计算字符串中子字符串的组合?我正在努力实现以下目标:

给定一个字符串:

'999999000'

我需要找到 99 的所有组合字符串中存在的索引,则上述字符串的预期结果为 5,因为您可以组合以下对中的索引来创建 99 :

index 0 and 1
index 1 and 2
index 2 and 3
index 3 and 4
index 4 and 5

现在我尝试按以下方式使用 match 方法:

    let re = new RegExp("99","gi");
let matches = "999999000".match(re).length;
console.log(matches);

但它抛出的结果是 3。

请注意,上面的代码片段适用于以下情况:

    let re = new RegExp("99","gi");
let matches = "00990099099099".match(re).length;
console.log(matches);

我知道这个问题可以通过迭代字符串来查找所有“99”组合来解决,但我想使用正则表达式和 str.match 来解决它

最佳答案

您可以使用正数 lookahead断言 2 次 9:

(?=(9{2}))

const strings = [
"999999000",
"00990099099099"
];
let re = new RegExp("(?=(9{2}))", "gi");
strings.forEach((s) => {
console.log(s + " ==> " + s.match(re).length);
});

关于javascript - js如何使用RegExp统计字符串中相同字符组成的子串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51578635/

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