本帖最后由 ptyzhu 于 2012-09-02 22:46:25 编辑

解决方案 »

  1.   

    \{z[::](?<value>[\w ]+\(.*?\))\}.Group("value").Value
      

  2.   

    1.首先搞明白一个问题你那z后面是个全角的":"号还是个半角的":"号,你那是全角的":",你匹配失败是不是这个原因。
    2.我当是半角的":"来匹配:
     string dd = "{z:GetArticle(xx,2,xx5)}{z:GetArticle(xx,2,xx5)}";
                //匹配多个
        string  resultStr= Regex.Replace(dd, @"\{z(:.*?)\}", "$1", RegexOptions.IgnoreCase | RegexOptions.Multiline);
                string[]  resultArr= resultStr.Substring(1).Split(':');
      

  3.   


    GetArticle()是函数,还有很多其他的函数,参数也都不一样。。
      

  4.   

    楼上的几位朋友。。按你们的方法没匹配成功啊。{z:} 这部分是固定的,冒号后面是函数名,函数有两种,一种有参数,一种没参数,没参数的正则我匹配成功了。。"{z:(\w)+}"    有参数的就没匹配对。只是后面多了一对小括号,小括号里是不确定的参数(xx,xx,xx,...)