Javascript 正则表达式未返回预期匹配

Javascript 正则表达式未返回预期匹配,javascript,jquery,regex,replace,Javascript,Jquery,Regex,Replace,我试图用正则表达式替换括号内的所有内容,但我似乎得到了一个意想不到的匹配 以下是我试图匹配的文本: Foo (bar) 这是正则表达式: /(?=\().*(?=\))/ 我希望它能返回括号中的所有内容:即*或条。但是,它返回第一个括号,其中包含以下文本:(bar) 这不应该发生,对吗?因为第一个括号处于正向前瞻(?=…) 请告诉我哪里出了问题…多亏了布里滕,我不得不将“向前看”改为“向后看” 所以我的正则表达式变成了 /(?<=\().*(?=\))/ /(?/\([^\)]+\)

我试图用正则表达式替换括号内的所有内容,但我似乎得到了一个意想不到的匹配

以下是我试图匹配的文本:

Foo (bar)
这是正则表达式:

/(?=\().*(?=\))/
我希望它能返回括号中的所有内容:即
*
。但是,它返回第一个括号,其中包含以下文本:
(bar

这不应该发生,对吗?因为第一个括号处于正向前瞻
(?=…)


请告诉我哪里出了问题…

多亏了布里滕,我不得不将“向前看”改为“向后看”

所以我的正则表达式变成了

/(?<=\().*(?=\))/
/(?
/\([^\)]+\)/

从字符串
Foo(bar)
中,此正则表达式将返回文本
(bar)

细分:

/                 #delimiter
    \(            #begins with a open-parenthesis
        [^\)]+    #all content that is not a close-parenthesis
            \)    #ends with a close-parenthesis
                / #end delimiter

我认为您需要将
(?=\()
的第一个实例更改为
(?Javascript不允许lookbehind。当我在控制台中尝试该解决方案时,我得到了
无效的正则表达式
。似乎对我来说很好。。。