本文介绍了正则表达式 - 匹配直到有相等数量的 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 个特定字符的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-20 10:13
查看更多