JavaScript RegExp手动设置索引

JavaScript RegExp手动设置索引,javascript,regex,Javascript,Regex,若要匹配某个已知位置的字符串,该怎么办? 然后你必须从那个位置切下这个字符串,然后你才能进行匹配。 但如果字符串非常大,并且您不想对它进行多次切片,因为它将生成许多新字符串,这对内存和执行时间都是有害的。 我想知道,为什么String.indexOf中有索引参数,而String.search和所有RegExp方法没有这样的功能 var rgx1 = /some pattern/g var rgx2 = /other pattern/ var match = rgx1.exec(VeryBigSt

若要匹配某个已知位置的字符串,该怎么办? 然后你必须从那个位置切下这个字符串,然后你才能进行匹配。 但如果字符串非常大,并且您不想对它进行多次切片,因为它将生成许多新字符串,这对内存和执行时间都是有害的。 我想知道,为什么
String.indexOf
中有索引参数,而
String.search
和所有RegExp方法没有这样的功能

var rgx1 = /some pattern/g
var rgx2 = /other pattern/
var match = rgx1.exec(VeryBigString)
if (match !== null) {
  rgx2.lastIndex = match.index
  var result = rgx2.exec(VeryBigString)
}
在这里,我试图设置
lastIndex
属性,但没有成功。Regexp具有此属性,但不希望接受对其所做的更改

您可以设置正则表达式的属性

var regExp=/a/g,
结果,,
字符串='aaaaaa';
regExp.lastIndex=4;
while((result=regExp.exec(string))!==null){
log(`Found${result[0]}。下一步从${regExp.lastIndex}.`)开始;

}
我已经查找了node.js的本机库,它们可以更好地处理regexp,但没有找到任何东西在我的regexp:)lastIndex中没有提到
^
模式