正则表达式,提取数学表达式

时间:2016-07-14 02:40:05

标签: c# regex

给出以下表达式(示例A):

10 + hour(@LAST_MODIFIED_DATE-@SUBMIT_DATE) * (@TOTAL_TRANSFERS+@GROUP_TRANSFERS)

我想提取这一点:

hour(@LAST_MODIFIED_DATE-@SUBMIT_DATE)

这里我也可以有(例B):

10 + hour(@LAST_MODIFIED_DATE-@SUBMIT_DATE) + (@TOTAL_TRANSFERS+@GROUP_TRANSFERS) + minutes(@LAST_MODIFIED_DATE-@SUBMIT_DATE) + 1000

我想提取这两部分:

hour(@LAST_MODIFIED_DATE-@SUBMIT_DATE)
minutes(@LAST_MODIFIED_DATE-@SUBMIT_DATE) 

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我会选择这样的事情:

Matches m = Regex.Matches(mathString, "(?:hours?|minutes?|seconds?)\([^)]+\)");

foreach (Match match in m)
    if (match.Value != "")
        doSomething(match.Value);
相关问题