Closed
Description
Inputting a valid domain name "ktbooks.1.v77.faidns.com", I received a invalid domain error. A domain name can include only one digit between 2 dots. So the pattern could be changed like this:
pattern = re.compile(
r'^(:?(([a-zA-Z0-9]{1})|([a-zA-Z]{1}[a-zA-Z]{1})|' # domain pt.1
r'([a-zA-Z]{1}[0-9]{1})|([0-9]{1}[a-zA-Z]{1})|' # domain pt.2
r'([a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9])).)+' # domain pt.3
r'([a-zA-Z]{2,13}|(xn--[a-zA-Z0-9]{2,30}))$' # TLD
)