When the range of IPs are re.compiled the regex isn't greedy enough
>>> import re
>>> _ipv4_tld = ['.{}'.format(ip) for ip in reversed(range(256))]
>>> foo = re.compile('|'.join(_ipv4_tld))
>>> foo.findall('.81')
['.81']
>>> _ipv4_tld = ['.{}'.format(ip) for ip in range(256)]
>>> foo = re.compile('|'.join(_ipv4_tld))
>>> foo.findall('.81')
['.8']
When the range of IPs are re.compiled the regex isn't greedy enough