Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Regex仅在第一场连续比赛中获得全部积分_Javascript_Regex - Fatal编程技术网

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+/;