using System;
using System.Text.RegularExpressions;
public class Test
{
public static void Main()
{
var replacements = new string[]{ "abc", "def" };
var regex = new Regex(@"(?<=\s)(\d+)(?=\s)|(?<=\s)\W+(?=\s)");
var result = regex.Replace(" 123 !!! ", m =>
m.Groups[1].Success ? replacements[0] : replacements[1]
);
Console.Write(result);
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uVGV4dC5SZWd1bGFyRXhwcmVzc2lvbnM7CnB1YmxpYyBjbGFzcyBUZXN0CnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBNYWluKCkKCXsKCQl2YXIgcmVwbGFjZW1lbnRzID0gbmV3IHN0cmluZ1tdeyAiYWJjIiwgImRlZiIgfTsKCQl2YXIgcmVnZXggPSBuZXcgUmVnZXgoQCIoPzw9XHMpKFxkKykoPz1ccyl8KD88PVxzKVxXKyg/PVxzKSIpOwoJCXZhciByZXN1bHQgPSByZWdleC5SZXBsYWNlKCIgMTIzICEhISAiLCBtID0+IAoJCQkJbS5Hcm91cHNbMV0uU3VjY2VzcyA/IHJlcGxhY2VtZW50c1swXSA6IHJlcGxhY2VtZW50c1sxXQoJCSk7CgkJQ29uc29sZS5Xcml0ZShyZXN1bHQpOwoJCQkJCgl9Cn0=