我正在使用 python 并想要一个简单的正则表达式来检查域名的有效性。我检查至少写域名。
url = 'https://stackoverflow'
keyword = 'foo'
with self.assertRaises(ValueError):
check_keyword(url, keyword)
我尝试在 url 文本字段上进行单元测试,并且在 main.py 页面上我完成了验证 main.py-
def check_keyword(url, keyword):
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")
例子
www.google(无效)
最佳答案
source的 validators module显示,这可能是一个更复杂的任务。
你可以使用那个模块:
>>> import validators
>>> validators.domain('example.com')
True
>>> validators.domain('example.com/')
ValidationFailure(func=domain, ...)
或者您可以使用 Domain names 的 RFC构建您自己的检查器。
关于python - 检查字符串中的有效域名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45010810/