Мне очень нравится ответ @ codaddict, но как насчет чего-то без Regex? (Код C # ниже)
if(a.Split('.').Length>2 || a.EndsWith("."))
{
Console.WriteLine("invalid");
}
Что мне нравится, так это то, что гораздо понятнее, что вам не нужна строка с двумя .
, а также .
не должно быть в конце. И это на самом деле может быть быстрее, чем с помощью регулярных выражений.