我有表单的字段,它接受表示波兰域名的字符串(以.pl结尾)
我要查一下:
您有什么建议这样的regexp应该是什么样子吗?
发布于 2014-07-06 09:19:33
您无法将所有可能的顶级域与regex匹配,TLD的列表也会不时更改。
使用库来提取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'tldextract给出了一个解析的结果,而publicsuffix仅仅给出了仍然被认为是一个实体的域名。
发布于 2014-07-06 09:27:01
如果你真的需要一个正则表达式,我会用这样的方法:
^([a-z0-9-]+.)?([a-z0-9-]+).pl$https://stackoverflow.com/questions/24594351
复制相似问题