如何在 Python 中验证字符串仅包含字母、数字、下划线和连字符?
在这篇文章中,我们将了解如何在 Python 中验证仅包含字母、数字、下划线和连字符的字符串。
第一种方法使用正则表达式。要使用 re 库,请导入它,如果尚未安装,请安装它。导入 re 库后,我们使用正则表达式“^[A-Za-z0-9_-]*$”。
如果字符串包含除字母和数字以外的任何特殊字符,则将返回 False;否则,将返回 True。
示例 1
在下面给出的示例中,我们以字符串作为输入,并使用正则表达式检查它是否仅包含字母、数字、下划线和连字符 −
import re
str1 = "Tutorialspoint123__"
print("The given string is:")
print(str1)
print("Checking if it contains only letters, numbers, underscores, and dashes")
res = bool(re.match("^[A-Za-z0-9_-]*$", str1))
print(res)
输出
上面示例的输出如下所示 −
The given string is: Tutorialspoint123__ Checking if it contains only letters, numbers, underscores, and dashes True
示例 2
在下面给出的示例中,我们使用与上面相同的程序,并以另一个字符串作为输入 −
import re
str1 = "Tutorialspoint@123"
print("The given string is:")
print(str1)
print("Checking if it contains only letters, numbers, underscores, and dashes")
res = bool(re.match("^[A-Za-z0-9_-]*$", str1))
print(res)
输出
上面示例的输出如下所示 −
The given string is: Tutorialspoint@123 Checking if it contains only letters, numbers, underscores, and dashes False
使用集合
第二种方法是使用集合。我们将声明一个包含所有可接受字符的集合,并检查输入字符串是否是可接受字符的子集,如果是子集,则打印 True,否则打印 False。
示例 1
在下面给出的示例中,我们以字符串作为输入,并使用集合检查它是否仅包含字母、数字、下划线和连字符 −
acceptable_chars = set('0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-')
str1 = "Tutorialspoint123__"
print("The given string is")
print(str1)
validation = set(str1)
print("Checking if it contains only letters, numbers, underscores, and dashes")
if validation.issubset(acceptable_chars):
print(True)
else:
print(False)
输出
上面示例的输出如下所示 −
The given string is Tutorialspoint123__ Checking if it contains only letters, numbers, underscores, and dashes True
示例 2
在下面给出的示例中,我们使用与上面相同的程序,并以另一个字符串作为输入 −
acceptable_chars = set('0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-')
str1 = "Tutorialspoint@123"
print("The given string is")
print(str1)
validation = set(str1)
print("Checking if it contains only letters, numbers, underscores, and dashes")
if validation.issubset(acceptable_chars):
print(True)
else:
print(False)
输出
上面示例的输出如下所示 −
The given string is Tutorialspoint@123 Checking if it contains only letters, numbers, underscores, and dashes False
广告
数据结构
网络
关系数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP