我需要解析这个Java脚本公式
原始公式:
sum((a+b)*c)+count((a*c)+b)+avg((a-c)/b)+sum((a-c+d)/b)
预期结果:
a = (a+b)*c
b = (a*c)+b
c = (a-c)/b
d = (a-c+d)/b
我们尝试过的是下面的链接,请检查链接。
https://regex101.com/r/upnlkA/2/
任何帮助将不胜感激,谢谢您。
答案 0 :(得分:0)
首先,如果期望公式的结构发生变化,则应该不使用正则表达式。如果是这种情况,则应使用extract-brackets之类的软件包。
如果公式不会显着改变其结构,则可以使用此正则表达式:
/\w{2,}\((.+?)\)(?=(\+\w{2,}|$))/gm
https://regex101.com/r/wBrheL/1/
它将为您提供以下组:
您可以在链接中找到详细说明。易于理解的解释是,它将查找包含2个或多个字符\w{2,}
的单词,开始提取并停止,直到找到包含2个或多个字符或字符串$