如何验证Python中的字符串仅包含字母,数字,下划线和破折号?

您可以使用正则表达式来完成此任务。为了验证字符串仅包含字母,数字,下划线和破折号,我们可以使用以下正则表达式:“ ^ [A-Za-z0-9 _-] * $”。 

示例

import re
print(bool(re.match("^[A-Za-z0-9_-]*$", 'aValidString123--__')))
print(bool(re.match("^[A-Za-z0-9_-]*$", 'inv@lid')))

输出结果

True
False

您也可以通过Sets获得此结果。使用您要允许的字符声明一组并使用以下代码-

示例

from sets import Set
allowed_chars = Set('0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-')
validationString = 'inv@lid'
if Set(validationString).issubset(allowed_chars):
    print True
else:
    print False

输出结果

这会给你结果-

False
猜你喜欢