我正在编写一个 PegJS 语法来解析 SQL 语句。我正在将一个函数拆分为function_id(function_args)
. 对于函数 args,我想匹配所有字符,包括(
最后)
一个除外)
,这对于嵌套函数是必需的。
如何编写规则以匹配所有字符,包括字符串中的最后一个字符)
除外。)
语法如下
Function
= func_name open_p args close_p
func_name
= name:[A-Z]+ {return name.join('');}
open_p
= "("
close_p
= ")"
args
= ar:(.*[^)]) {return ar.join('');}
并且测试字符串是
AVG(A + AVG(B + C))