gpt4 book ai didi

JavaScript RegExp 手动设置索引

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:54:35 26 4
gpt4 key购买 nike

如果你想从某个已知位置匹配字符串怎么办?然后你必须从那个位置切出这个字符串,只有在这之后你才能进行匹配。但是,如果字符串非常大,并且您不想多次切片怎么办,因为它会产生许多新字符串,这对内存和执行时间不利。我想知道,为什么 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#lastIndex正则表达式的属性。

var regExp = /a/g,
result,
string = 'aaaaaaaa';

regExp.lastIndex = 4;

while ((result = regExp.exec(string)) !== null) {
console.log(`Found ${result[0]}. Next starts at ${regExp.lastIndex}.`);
}

关于JavaScript RegExp 手动设置索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48481142/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com