import re
pattern = re.compile(r"(\d(?:\s?\d)?\s?\.)\s?((?:j\s?a\s?n|f\s?e\s?b\s?r)\s?u\s?a\s?r\s?y|m\s?a\s?(?:r\s?c\s?h|y)|a\s?p\s?r\s?i\s?l|j\s?u\s?(?:n\s?e|l\s?y)|a\s?u\s?g\s?u\s?s\s?t|o\s?c\s?t\s?o\s?b\s?e\s?r|(?:s\s?e\s?p\s?t|n\s?o\s?v|d\s?e\s?c)e\s?m\s?b\s?e\s?r)\s?(\d\s?\d\s?\d\s?\d)", re.I)
strs = ["1 . J U L Y 1 9 5 0", "1 8 . A P R I L 1 9 8 0", "Hello world, today is: 2 4 . J A N U A R Y 2 0 0 0"]

for text in strs:
	print(re.sub(pattern, lambda x: f'{"".join(x.group(1).split())} {"".join(x.group(2).split())} {"".join(x.group(3).split())}', text))
