gpt4 book ai didi

javascript - 具有全局多行无限匹配的正则表达式

转载 作者:行者123 更新时间:2023-11-28 19:40:35 24 4
gpt4 key购买 nike

好吧,我试图匹配所有行并获取匹配的字符串索引,但我遇到了一个奇怪的问题

var string = 'a\n',
regexp = /^.*$/gim;

如果你运行

regexp.exec(string);

最终会无限匹配“”,为什么呢?我问的原因是因为人们通常在 while 循环中执行这些类型的匹配,这将产生无限循环,除非您确保前一个匹配索引不是当前索引。

编辑所以解决我的问题需要我这样做

while (match = regexp.exec(string)) {
if (!match[0].length) {
regexp.lastIndex++;
}
}

最佳答案

因为 .* 匹配零长度字符串。在字符串的末尾,它总是可以再次匹配 this。

关于javascript - 具有全局多行无限匹配的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25133843/

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