將舊程序轉換爲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