由于JavaScript 内置的正则表达式库不支持后向查找,我想知道是否有一个库可以纯粹在 JavaScript 中实现正则表达式引擎。
就我而言,性能并不重要(只要在短字符串中搜索简单表达式不需要几秒钟或更长时间)。
由于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 中有一些lookbehind 的实现,包括我写的一个(文档;代码),其中正或负的lookbehind 作为额外参数传递。使用它,这将得到与上面相同的结果:
console.log(str.replace2(/foo/g, 'bar', '(?<=\\d)'));