本文介绍了正则表达式 - 匹配直到有相等数量的 2 个特定字符的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
例如,如果我有以下句子:
For example if I have the following sentence:
一只猫在逃跑前咬了一只狗的屁股
如果我想使用的 2 个字符是 'a' 和 'b',那么我想匹配直到有等量的 'a' 和 'b' 的点,如下所示:
If the 2 characters I want to use are 'a' and 'b' then I want to match up until the point where there are equal amounts of 'a' and 'b' like the following:
一只猫咬了一只狗的屁股 b
在上面的例子中,句子有 5 个 a 和 3 个 b.我想要很多,直到我有 3 个 a 和 3 个 b.
In the above case, the sentence has 5 a's and 3 b's. I want to much up to the point where I have 3 a's and 3 b's.
感谢您的帮助.
推荐答案
var a = 0,
b = 0;
var result = 0;
var patten = /./g;
for (;patten.exec("a cat bit a dog on the butt before running away") != null;) {
if (RegExp['$&'] == "a") {
a++;
if (a == b) {
result = patten.lastIndex;
}
}
if (RegExp['$&'] == "b") {
b++;
if (a == b) {
result = patten.lastIndex;
}
}
}
console.log("1~" + result);
console.log("a cat bit a dog on the butt before running away".slice(0,result));
对了,我也会功夫.
这篇关于正则表达式 - 匹配直到有相等数量的 2 个特定字符的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!