using System.Text.RegularExpressions;
public static void Main()
var rfcList = new string[]{"NSD1310011XA", "R&ÑZ230303H19", "NECT121212JS"};
foreach(var rfc in rfcList)
Console.WriteLine("{0} : {1}",rfc, new Regex("[a-zA-ZñÑ&]{4}[0-9]{6}[a-zA-ZñÑ0-9&]{2,3}").IsMatch(rfc));