检查字符串是否包含python中的特殊字符

我想检查密码是否包含特殊字符.我搜索了一些例子,但无法找到解决我的问题.我该怎么做?这是我到目前为止尝试的方式;

elif not re.match("^[~!@#$%^&*()_+{}":;']+$",password)
        print "Invalid entry."
        continue

我的字符串是密码.

最佳答案 你不需要正则表达式.尝试:

elif set('[~!@#$%^&*()_+{}":;\']+$').intersection(password):
    print "Invalid entry."

引号已在字符串中转义.这样做是创建一个包含所有无效字符的集合,然后取其与密码的交集(换句话说,包含集合和密码字符串中存在的所有唯一字符的集合).如果没有匹配项,则结果集将为空,因此评估为False,否则将评估为True并打印消息.

点赞