我使用以下正则表达式(来自http://www.simple-talk.com/dotnet/asp.net/regular-expression-based-token-replacement-in-asp.net/)
(小于functionName&GT; [^ \ $] *?)\((:(小于PARAMS&GT; **)(?:????,|(= \))))?*)< / p>
它工作正常,除非我在参数中包括括号 as“&lt; b&gt; hello&lt; b&gt; renderHTML(”“GetData(12)”“)”
所以我想要“GetData(12)”而不是“GetData(12”。
如果用双引号括起来,有没有办法忽略任何匹配?
答案 0 :(得分:1)
有些方法可以忽略引号内的parens但这不会解决你的问题。 C#中的函数调用无法与正则表达式匹配。正则表达式无法匹配嵌套结构,例如它们在函数调用中出现parens和<
的方式。要匹配这些,您需要使用各种语法。
我回来的时候写了一篇博文,详细介绍了这个问题
我不是故意避开这里的答案。但是这个问题的任何答案都会被一个稍微复杂(有时甚至更简单)的函数调用打破。