将旧程序转换为ASP.NET c#站点。用通配符替换快速字符串
我有一个充满函数的表格和一个充满变量及其对应值的表格。我写了一个函数来计算的答案,但需要以传递变量在格式化公式
例如:
V(totalValue) * V(CoFriction(s)) ==> V("totalValue") * V("CoFriction(s)")
我怎么能代替V(<variable>)
到V("<variable>")
。嵌套括号是可能的!
我试过regexp像 - V\([^\(\)]+\)
只能在嵌套paren失败。
那么,如果嵌套括号是允许/可能的,你将如何确定什么时候该值是一个字符串文字,什么时候不是?当一个被视为字符串字面值的函数将另一个函数作为一个参数时,它又意味着什么,这个参数也必须被视为一个字符串文字?在我看来,您需要编写一个简单的递归下降解析器,只要它找到它知道的函数名称,就会开始括号匹配,直到找到右括号并用引号包围整个区域。否则,你将不得不在运行时评估命名函数。 – Kell 2010-11-01 18:06:04