using System;
using System.IO;
using System.Text.RegularExpressions;
using System.Linq;
public class Test
{
public static string num = string.Empty;
public static void Main()
{
var s = "work 1 work 2 work 3 work 4 work 5";
Console.WriteLine(Regex.Replace(s, @"work (?<num>\d+)", Repl));
}
public static string Repl(Match m)
{
num = m.Groups["num"].Value + num;
return string.Format("work {0}", num);
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uSU87CnVzaW5nIFN5c3RlbS5UZXh0LlJlZ3VsYXJFeHByZXNzaW9uczsKdXNpbmcgU3lzdGVtLkxpbnE7CnB1YmxpYyBjbGFzcyBUZXN0CnsKCXB1YmxpYyBzdGF0aWMgc3RyaW5nIG51bSA9IHN0cmluZy5FbXB0eTsKCXB1YmxpYyBzdGF0aWMgdm9pZCBNYWluKCkKCXsKCQl2YXIgcyA9ICJ3b3JrIDEgd29yayAyIHdvcmsgMyB3b3JrIDQgd29yayA1IjsKICAgICAgICBDb25zb2xlLldyaXRlTGluZShSZWdleC5SZXBsYWNlKHMsIEAid29yayAoPzxudW0+XGQrKSIsIFJlcGwpKTsKCX0KCQoJcHVibGljIHN0YXRpYyBzdHJpbmcgUmVwbChNYXRjaCBtKQoJewoJCW51bSA9IG0uR3JvdXBzWyJudW0iXS5WYWx1ZSArIG51bTsKCQlyZXR1cm4gc3RyaW5nLkZvcm1hdCgid29yayB7MH0iLCBudW0pOwoJfQoJCgkKfQoK