XRegExp没有后视?

问题描述 投票:4回答:2

我需要在JavaScript中使用正则表达式的lookbehind,所以找到了Simulating lookbehind in JavaScript (take 2)。此外,我发现作者Steven Levithan是开发XRegExp的人。

我git克隆XRegExp 3.0.0-pre,并测试

一些使用XRegExp的lookbehind逻辑http://regex101.com/r/xD0xZ5

var XRegExp = require('xregexp');
console.log(XRegExp.replace('foobar', '(?<=foo)bar', 'test'));

它似乎不起作用;

$ node test
foobar

我错过了什么?谢谢。

编辑:我的目标是这样的

(?<=foo)[\s\S]+(?=bar)

http://regex101.com/r/sV5gD5

(编辑链接错误并修改)

回答:

var str = "fooanythingbar";
console.log(str);
console.log(str.replace(/(foo)(?:[\s\S]+(?=bar))/g, '$1test'));

//footestbar

归功于@Trevor高级谢谢!

javascript regex xregexp
2个回答
© www.soinside.com 2019 - 2024. All rights reserved.