using System;
using System.Collections.Generic;
using System.IO;
using System.Text.RegularExpressions;
using System.Linq;
public class Test
{
public static void Main()
{
var lst = new List<string> {"3.AAA", "AAA.BBB", "AAA.3.BBB", "AAA.3.B555B", "AAA.3.BBB.4",
"AAA.3.BBB.4.CCC", "AAA.3.BBB.CCC", "AAA.3.BBB.CCC.4", "AAA.3.BBB.CCC.4.DDD",
"ZZZ.AAA.3.BBB","ZZZ.AAA.3.BBB.4","ZZZ.AAA.3.BBB.4.CCC", "ZZZ.AAA.3.BBB.CCC",
"ZZZ.AAA.3.BBB.CCC.4", "ZZZ.AAA.3.BBB.CCC.4.DDD"};
var rx = new Regex(@"^(?:(?!\d+\.)[^\s.]+\.)+\d+(?:\.(?!\d+(?=\.|$))[^\s.]+)+$",
RegexOptions.Compiled | RegexOptions.ECMAScript);
foreach (var s in lst)
{
if (rx.IsMatch(s))
Console.WriteLine(s);
}
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLklPOwp1c2luZyBTeXN0ZW0uVGV4dC5SZWd1bGFyRXhwcmVzc2lvbnM7CnVzaW5nIFN5c3RlbS5MaW5xOwpwdWJsaWMgY2xhc3MgVGVzdAp7CglwdWJsaWMgc3RhdGljIHZvaWQgTWFpbigpCgl7CgkJdmFyIGxzdCA9IG5ldyBMaXN0PHN0cmluZz4geyIzLkFBQSIsICJBQUEuQkJCIiwgIkFBQS4zLkJCQiIsICJBQUEuMy5CNTU1QiIsICJBQUEuMy5CQkIuNCIsIAoJCQkiQUFBLjMuQkJCLjQuQ0NDIiwgIkFBQS4zLkJCQi5DQ0MiLCAiQUFBLjMuQkJCLkNDQy40IiwgIkFBQS4zLkJCQi5DQ0MuNC5EREQiLAoJCQkiWlpaLkFBQS4zLkJCQiIsIlpaWi5BQUEuMy5CQkIuNCIsIlpaWi5BQUEuMy5CQkIuNC5DQ0MiLCAiWlpaLkFBQS4zLkJCQi5DQ0MiLAoJCQkiWlpaLkFBQS4zLkJCQi5DQ0MuNCIsICJaWlouQUFBLjMuQkJCLkNDQy40LkRERCJ9OwoJCXZhciByeCA9IG5ldyBSZWdleChAIl4oPzooPyFcZCtcLilbXlxzLl0rXC4pK1xkKyg/OlwuKD8hXGQrKD89XC58JCkpW15ccy5dKykrJCIsIAoJCQlSZWdleE9wdGlvbnMuQ29tcGlsZWQgfCBSZWdleE9wdGlvbnMuRUNNQVNjcmlwdCk7CgkJZm9yZWFjaCAodmFyIHMgaW4gbHN0KSAKCQl7CgkJCWlmIChyeC5Jc01hdGNoKHMpKQoJCQkJQ29uc29sZS5Xcml0ZUxpbmUocyk7CgkJfQoJfQoJCgkKfQoK