Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 正则表达式替换字符串后面的数字_C#_Regex - Fatal编程技术网

C# 正则表达式替换字符串后面的数字

C# 正则表达式替换字符串后面的数字,c#,regex,C#,Regex,我正在寻找一个正则表达式来替换以下部分: 输入: (`0[],System.Func{`0,``0,``1}) 输出: (T1[],System.Func{T1,Tm1,Tm2}) 注意:增加这个数字会很好,但不是绝对必要的 有一种模式可以做到这一点吗?您可以使用以下代码: var txt = new Regex(@"(?si)\(`(\d+)\[\],([a-z]+\.[a-z]+)\{`(\d+).`{2}(\d+).`{2}(\d+)\}\)"); var res = txt.Repl

我正在寻找一个正则表达式来替换以下部分:

输入:

(`0[],System.Func{`0,``0,``1})
输出:

(T1[],System.Func{T1,Tm1,Tm2})
注意:增加这个数字会很好,但不是绝对必要的

有一种模式可以做到这一点吗?

您可以使用以下代码:

var txt = new Regex(@"(?si)\(`(\d+)\[\],([a-z]+\.[a-z]+)\{`(\d+).`{2}(\d+).`{2}(\d+)\}\)");
var res = txt.Replace(@"(`0[],System.Func{`0,``0,``1})", m =>
            "(T" + string.Format("{0}", (Int32.Parse(m.Groups[1].Value) + 1)) +
            "[]," + m.Groups[2].Value + "{T" + string.Format("{0}", (Int32.Parse(m.Groups[3].Value) + 1)) +
            ",Tm" + string.Format("{0}", (Int32.Parse(m.Groups[4].Value) + 1)) +
            ",Tm" + string.Format("{0}", (Int32.Parse(m.Groups[5].Value) + 1)) + "})");
输出:

(T1[],System.Func{T1,Tm1,Tm2})

这个字符串是什么意思?它看起来像某种编程语言的标记,不是吗?这种语言需要一个解析器,而不是正则表达式,它是包含VS生成的.Net程序集的所有Xml注释的Xml文件的一部分。