gpt4 book ai didi

JavaScript:是否有完全支持环视的正则表达式库?

转载 作者:搜寻专家 更新时间:2023-11-01 04:38:21 24 4
gpt4 key购买 nike

作为JavaScript’s built-in regular expression library不支持 lookbehind ,我想知道是否有一个库可以纯用 JavaScript 实现正则表达式引擎。

在我的例子中,性能并不重要(只要在短字符串中搜索简单表达式不需要几秒或更长时间)。

最佳答案

缺少回溯的常见解决方法是匹配(而不是定位到)您感兴趣的位之前的内容,然后将其重新插入回调中。

foo 的所有实例替换为 bar,它前面有一个数字。

var str = 'foo 1foo foo2';
console.log(str.replace(/(\d)foo/g, function($0, $1) {
return $1+'bar';
})); //foo 1bar foo1

在 JS 中 lookbehind 的实现,包括我写的一个( docs ; code ),其中正面或负面的 lookbehind 作为额外的传递范围。使用它,这将得到与上面相同的结果:

console.log(str.replace2(/foo/g, 'bar', '(?<=\\d)'));

关于JavaScript:是否有完全支持环视的正则表达式库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11702735/

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