using System;
using System.Text.RegularExpressions;
public class Test
{
public static void Main()
{
var input = "CAAAAACCCGGAAAAACGGCTTAGCTAGCTGGATCGAGGATAGCTGGATAGCTAAAAATAGTCGATAATCGAAATCGAGAGACTAAAGAAATCA";
var codon = "AAA";
var replacement = "ACC";
var replaced = Regex.Replace(input, @"\G((?:.{3})*?)" + codon, "$1" + replacement);
Console.WriteLine(input);
Console.WriteLine(replaced, @"\G.{3}", "$0 ");
Console.WriteLine(Regex.Replace(input, @"\G.{3}", "$0 "));
Console.WriteLine(Regex.Replace(replaced, @"\G.{3}", "$0 "));
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uVGV4dC5SZWd1bGFyRXhwcmVzc2lvbnM7CgpwdWJsaWMgY2xhc3MgVGVzdAp7CglwdWJsaWMgc3RhdGljIHZvaWQgTWFpbigpCgl7CgkJdmFyIGlucHV0ID0gIkNBQUFBQUNDQ0dHQUFBQUFDR0dDVFRBR0NUQUdDVEdHQVRDR0FHR0FUQUdDVEdHQVRBR0NUQUFBQUFUQUdUQ0dBVEFBVENHQUFBVENHQUdBR0FDVEFBQUdBQUFUQ0EiOwogICAgICAgIHZhciBjb2RvbiA9ICJBQUEiOwogICAgICAgIHZhciByZXBsYWNlbWVudCA9ICJBQ0MiOwogICAgICAgIAogICAgICAgIHZhciByZXBsYWNlZCA9IFJlZ2V4LlJlcGxhY2UoaW5wdXQsIEAiXEcoKD86LnszfSkqPykiICsgY29kb24sICIkMSIgKyByZXBsYWNlbWVudCk7CiAgICAgICAgCiAgICAgICAgQ29uc29sZS5Xcml0ZUxpbmUoaW5wdXQpOwogICAgICAgIENvbnNvbGUuV3JpdGVMaW5lKHJlcGxhY2VkLCBAIlxHLnszfSIsICIkMCAiKTsKICAgICAgICAKICAgICAgICBDb25zb2xlLldyaXRlTGluZShSZWdleC5SZXBsYWNlKGlucHV0LCBAIlxHLnszfSIsICIkMCAiKSk7CiAgICAgICAgQ29uc29sZS5Xcml0ZUxpbmUoUmVnZXguUmVwbGFjZShyZXBsYWNlZCwgQCJcRy57M30iLCAiJDAgIikpOwoJfQp9