检查字符串中的有效域名?

2024-01-07

我正在使用 python,想要一个简单的正则表达式来检查域名的有效性。我检查至少写了域名。

url = 'https://stackoverflow'
        keyword = 'foo'
        with self.assertRaises(ValueError):
            check_keyword(url, keyword)

我尝试在 url 文本字段上进行单元测试,并且有 main.py 页面,我在其中完成了验证 main.py-

def check_keyword(url, 关键字):

if re.match("^(((([A-Za-z0-9]+){1,63}\.)|(([A-Za-z0-9]+(\-)+[A-Za-z0-9]+){1,63}\.))+){1,255}$" ,url):
   return ValueError("Invalid")

Example

  • www.google(无效)

  • https://stackoverflow https://stackoverflow(无效的)


The source https://validators.readthedocs.io/en/latest/_modules/validators/domain.html#domain of the 验证器模块 https://validators.readthedocs.io/en/latest/#表明这可能是一个更复杂的任务。

您可以使用该模块:

>>> import validators
>>> validators.domain('example.com')
True

>>> validators.domain('example.com/')
ValidationFailure(func=domain, ...)

或者您可以使用 RFC域名 https://en.wikipedia.org/wiki/Domain_name构建您自己的检查器。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

检查字符串中的有效域名? 的相关文章

随机推荐