JavaScript:是否有一个完全支持外观的正则表达式库?

try*_*lly 5 javascript regex

由于JavaScript的内置正则表达式库不支持lookbehind,我想知道是否有一个纯粹在JavaScript中实现正则表达式引擎的库.

在我的情况下,性能无关紧要(只要在短字符串中搜索简单表达式不需要几秒或更长时间).

Utk*_*nos 1

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

将 的所有实例替换foobar,其中前面带有数字。

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

JS 中有一些lookbehind 的实现,包括编写的一个(文档代码,其中正向或负向lookbehind 作为额外参数传递。使用它,这将得到与上面相同的结果:

console.log(str.replace2(/foo/g, 'bar', '(?<=\\d)'));
Run Code Online (Sandbox Code Playgroud)