Из того, что я могу сказать из ваших требований, вы хотите что-то вроде этого:
^(\d{1,50}\.)*\d{1,50}$
То есть от одной до 50 цифр, необязательно, перед любым числом групп от одной до 50 цифр, за каждой группой следует точка полного останова. Я не могу точно сказать, хотите ли вы, чтобы что-то вроде 1233.456
было недействительным, поскольку ваше требование № 2 подразумевает, что только группы цифр между точками могут содержать повторяющиеся цифры. В таком случае было бы намного проще выполнить проверку отдельных групп цифр после факта.