Javascript Regex仅在第一场连续比赛中获得全部积分
我有以下代码: 我只想得到第一组连续的比赛 因此,在本例中,我只想获得Javascript Regex仅在第一场连续比赛中获得全部积分,javascript,regex,Javascript,Regex,我有以下代码: 我只想得到第一组连续的比赛 因此,在本例中,我只想获得11的第一个连续匹配,这将导致第一个1111 如何获得此结果?正则表达式匹配多个11子字符串,这些子字符串后跟字母数字字符或下划线,因为\B是非单词边界 我只想得到第一组连续的比赛 为此,您需要一个捕获组和一个反向引用: 或 var re=new RegExp(“(11)\1+”) 注意,/g全局修饰符必须删除,因为您只需要第一个匹配项 var re=new RegExp(“(11)\\1+”); var str='111
11
的第一个连续匹配,这将导致第一个1111
如何获得此结果?正则表达式匹配多个
11
子字符串,这些子字符串后跟字母数字字符或下划线,因为\B
是非单词边界
我只想得到第一组连续的比赛
为此,您需要一个捕获组和一个反向引用:
或
var re=new RegExp(“(11)\1+”)
注意,/g
全局修饰符必须删除,因为您只需要第一个匹配项
var re=new RegExp(“(11)\\1+”);
var str='11111 VJKNVKJDNFVK11KJDNKJFGBNKFGJBNK1111JKNGKNFBKJF11111GBNF';
var m=str.match(re);
var res=m?m[0]+,位于“+re.lastIndex:”;
document.body.innerHTML=res代码>只要/(11)\1+/
就足够了。请看regexr.com,这东西太棒了。btw@WiktorStribi谢谢!如何在newregexp()
格式上执行此操作?例如:var re=newregexp(“(11)\\1+”)代码>,但由于模式是静态的,所以您不需要它。很高兴它能为您工作。如果你觉得我的答案有用,请考虑一下投票。
var re = /11\B/g;
var str = '11111vjknvkjdnfvk11kjdnkjfgbnkfgjbnk1111jkngknfbkjf11111111gbnf';
console.log(str.match(re));
var re = /(11)\1+/;