.NET Fiddle

CSharp · Console

/Program.cs

using System;
using System.Text.RegularExpressions;

public class Program
{
	public static void Main(string[] args)
	{
		Console.WriteLine(Regex.Replace("1234-5678-9123-4567-891", @"\d(?!(?:\D*\d){0,3}\D*$)", "x"));
	}
}
;