JavaScript:是否有完全支持查找的正则表达式库

JavaScript: Is there a regular expression library that fully supports lookarounds?

本文关键字:查找 正则表达式 支持 是否 JavaScript      更新时间:2024-04-23

由于 JavaScript 的内置正则表达式库不支持后视,我想知道是否有一个库纯粹在 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中有lookback的实现包括我编写的一个(docs;code(,其中正或负的lookback作为额外的参数传递。使用它,这将得到与上述相同的结果:

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