C# 在数学表达式中匹配BODMAS规则的正则表达式模式

C# 在数学表达式中匹配BODMAS规则的正则表达式模式,c#,regex,C#,Regex,我有一个数学表达式(((a+b)(c+d))+p(q*2+r))/2 我试图编写一个C代码来匹配下面的组 ((a+b)(c+d))+p(q*2+r)) ((a+b)(c+d)) (q*2+r)) (a+b) (c+d)) 不幸的是,我找不到。你能帮我摆脱这种情况吗 我有一个表达式“(.*)”,但它可以如下匹配,并且不符合我的需要 ((a+b) (c+d) (q*2+r) 注意:表达式可以更改。查找通用正则表达式模式以解析具有BODMAS规则的任何表达式将完成以下工作: (\((\((\(.*?\

我有一个数学表达式(((a+b)(c+d))+p(q*2+r))/2 我试图编写一个C代码来匹配下面的组

  • ((a+b)(c+d))+p(q*2+r))
  • ((a+b)(c+d))
  • (q*2+r))
  • (a+b)
  • (c+d))
  • 不幸的是,我找不到。你能帮我摆脱这种情况吗

    我有一个表达式“(.*)”,但它可以如下匹配,并且不符合我的需要

  • ((a+b)
  • (c+d)
  • (q*2+r)
  • 注意:表达式可以更改。查找通用正则表达式模式以解析具有BODMAS规则的任何表达式将完成以下工作:

    (\((\((\(.*?\))(\(.*?\))\)).*(\(.*\))\))
    
    这个正则表达式将它分成几个组,然后你可以从中得到每个组


    这应该作为解析器而不是正则表达式来完成。请使用。