using System;
using System.Text.RegularExpressions;
using System.IO;
public class Test
{
public static void Main()
{
var data = "I have this (123) 556-7890 phone number, followed with 123 556 7890, and (123) 556- 7890.";
var res = Regex.Replace(data, @"\(?\d{3}\)?-? *\d{3}-? *-?\d{4}",
x => Regex.Replace(x.Value, @"\d(?!\d{0,3}$)", "X"));
Console.WriteLine(res);
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uVGV4dC5SZWd1bGFyRXhwcmVzc2lvbnM7CnVzaW5nIFN5c3RlbS5JTzsKcHVibGljIGNsYXNzIFRlc3QKewoJcHVibGljIHN0YXRpYyB2b2lkIE1haW4oKQoJewoJCXZhciBkYXRhID0gIkkgaGF2ZSB0aGlzICgxMjMpIDU1Ni03ODkwIHBob25lIG51bWJlciwgZm9sbG93ZWQgd2l0aCAxMjMgNTU2IDc4OTAsIGFuZCAoMTIzKSA1NTYtIDc4OTAuIjsKCQl2YXIgcmVzID0gUmVnZXguUmVwbGFjZShkYXRhLCBAIlwoP1xkezN9XCk/LT8gKlxkezN9LT8gKi0/XGR7NH0iLCAKCQkJCQl4ID0+IFJlZ2V4LlJlcGxhY2UoeC5WYWx1ZSwgQCJcZCg/IVxkezAsM30kKSIsICJYIikpOwoJCUNvbnNvbGUuV3JpdGVMaW5lKHJlcyk7Cgl9Cn0=