我有form的字段,接受表示波兰域名的字符串(以.pl结尾)
我需要检查一下:
你有什么建议这样的正则表达式应该是什么样的?
你不能用一个正则表达式,以及什么样的列表匹配所有可能的顶级域是一个顶级域名的变化不时.
使用库来提取TLD,例如tldextract或publicsuffix.
演示:
>>> import tldextract
>>> tldextract.extract('domainname.net.pl')
ExtractResult(subdomain='', domain='domainname', suffix='net.pl')
>>> tldextract.extract('www.domainname.net.pl')
ExtractResult(subdomain='www', domain='domainname', suffix='net.pl')
>>> from publicsuffix import PublicSuffixList
>>> psl = PublicSuffixList()
>>> psl.get_public_suffix('domainname.net.pl')
'domainname.net.pl'
>>> psl.get_public_suffix('www.domainname.net.pl')
'domainname.net.pl'
Run Code Online (Sandbox Code Playgroud)
tldextract为您提供解析结果,同时publicsuffix仅为您提供仍被视为一个实体的域名.