Sample:
pattern = '^[A-Z.-]*(\d[A-Z.-]*){4,}$'
^ -[A-Z.-]* - " ": ,(\d[A-Z.-]*){4,} - 4 " "; 4$ -
:
re.match(pattern, "ART-4.5-11")
# <_sre.SRE_Match object; span=(0, 10), match='ART-4.5-11'>
re.match(pattern, "ART5411")
# <_sre.SRE_Match object; span=(0, 7), match='ART5411'>
re.match(pattern, "aRT-4!5-11") # No match
re.match(pattern, "76543")
# <_sre.SRE_Match object; span=(0, 5), match='76543'>