正则表达式匹配主函数之外的所有内容

问题描述 投票:0回答:1

我目前正在使用CodeMirror,带有javascript,它似乎不支持lookahead或lookbehind。

用户应该在单个函数中编写所有内容,该函数被认为是“根”函数。

举个例子,这是对的:

=FUNCTION(X="t")

这不是:

=FUNCTION(X="t")=()

我需要创建一个匹配“=FUNCTION(...)”之外的所有内容的正则表达式,因此在这种情况下,“=()”不使用lookbehind或lookahead。

期望的结果应该与此匹配:

=FUNCTION(X="t")=()
                ^^^
=FUNCTION(X="t"()()())=()
                      ^^^
=FUNCTION(X="t"()()())=(()=()
                      ^^^^^^^
=FUNCTION(X="t"()()())=XXXXXX
                      ^^^^^^^

有办法做到吗?

javascript regex codemirror
1个回答
0
投票

使用捕获组。但如果你的函数体包含内部

)
我们就有麻烦了,我们可能需要一个解析器。

const str = 'prefix =FUNCTION(X="t")=()';

console.log(str.match(/(.+)=FUNCTION\([^)]*\)(.+)/).slice(1));

© www.soinside.com 2019 - 2024. All rights reserved.