2
由于JavaScript的下面的代码如何在JavaScript中使用正则表达式获取捕获组的索引?
var pattern = /abc(d)e/;
var somestring = 'abcde';
var index = somestring.match(pattern);
我想知道小组赛的开始索引,就像Java的Matcher.start()方法。
由于JavaScript的下面的代码如何在JavaScript中使用正则表达式获取捕获组的索引?
var pattern = /abc(d)e/;
var somestring = 'abcde';
var index = somestring.match(pattern);
我想知道小组赛的开始索引,就像Java的Matcher.start()方法。
通过捕捉其他一切捕获组之前就可以得到抵消一些捕获组:
var pattern = /(^.*abc)(d)e/;
var somestring = 'abcde';
var match = somestring.match(pattern);
var index = match[1].length; // this is the offset of `d` in the string
,或虽未捕捉对象字符串的开头:
var pattern = /(abc)(d)e/;
var somestring = 'abcde';
var match = somestring.match(pattern);
var index = match[1].length + match.index; // this is the offset of `d` in the string
match.index
是在字符串中开始匹配的索引。
或者只是'3 + match.index',给定模式具有恒定的大小:-) – Bergi
使用[string.indexOf](https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/indexOf)有什么问题? –