Javascript Regexp检查字符串中两个字符的数量是否相同

Javascript Regexp检查字符串中两个字符的数量是否相同,javascript,regex,Javascript,Regex,例如,我只想在字符串中包含数量相同的字符“1”和“2”时匹配字符串。 输入1:1932213(匹配,因为有相同数量的“1”和“2”) 输入2:11932213(不匹配,因为“1”多于“2”) 如何获得这样的regexp? 这方面的说明可以是: (?=(*1){n})(?=(*2){n}) 问题是 如何将n放入正则表达式中? 谢谢大家! 单独使用正则表达式是不可能的,但通过编程实现这一点很简单: const getoccurrencess=(str,num)=>[…str].reduce((a,

例如,我只想在字符串中包含数量相同的字符“1”和“2”时匹配字符串。

输入1:1932213(匹配,因为有相同数量的“1”和“2”)
输入2:11932213(不匹配,因为“1”多于“2”)

如何获得这样的regexp?
这方面的说明可以是:
(?=(*1){n})(?=(*2){n})

问题是 如何将
n
放入正则表达式中?

谢谢大家!

单独使用正则表达式是不可能的,但通过编程实现这一点很简单:

const getoccurrencess=(str,num)=>[…str].reduce((a,b)=>a+(b==num),0);
const validate=str=>getoccurrencess(str,'1')==getoccurrencess(str,'2');
console.log(
验证('1932213'),
验证('11932213'),
验证('1'),
验证('12'),

);关键是要在regexp模式中使用此逻辑,类似于(?=(*1){n})(?=(*2){n})很遗憾,您想要的逻辑无法放入正则表达式中。