gpt4 book ai didi

javascript - 正则表达式 - 匹配直到有相同数量的 2 个特定字符

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

例如,如果我有以下句子:

a cat bit a dog on the butt before running away

如果我想使用的 2 个字符是“a”和“b”,那么我想匹配直到“a”和“b”的数量相等,如下所示:

a cat bit a dog on the butt b

在上面的例子中,句子有 5 个 a 和 3 个 b。我想要达到 3 个 a 和 3 个 b 的程度。

谢谢你的帮助。

最佳答案

这不可能。

an bn 不是 regular , 因此在数学上不可能与正则表达式匹配,即使使用增强的正则表达式也是如此。

您可以使用以下函数获取不使用正则表达式的范围:

var input = "a cat bit a dog on the butt b";
console.log(getRange(input, "a", "b"));

function getRange(input, char1, char2){
var indexStart = -1;
var count1 = 0, count2 = 0;

for(var i = 0; i < input.length; i++){
var char = input[i];
switch(char){
case char1:
count1 += 1; break
case char2:
count2 += 1; break;
}
if(char == char1 || char == char2){
if(indexStart == -1)
indexStart = i;

if(count1 == count2)
return [indexStart, i];
}
}

return [-1, -1];
}

关于javascript - 正则表达式 - 匹配直到有相同数量的 2 个特定字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47644164/

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