Python 如何检查字符串是否至少包含一个字母和一个数字
在本文章中,我们将探讨如何在Python中检查字符串是否至少包含一个字母和一个数字。
第一种方法使用正则表达式。导入re库并安装(如果尚未安装)以使用它。在导入re库之后,我们可以使用以下正则表达式: ('^(?=.*[0-9]$)(?=.*[a-zA-Z])'
。如果字符串中包含除字母和数字之外的特殊字符,则返回False;否则,返回True。
在正则表达式中,?=语法用于调用前瞻。前瞻通过从当前位置向前查找提供的字符串来发现匹配项。
示例1
在下面的示例中,我们输入了一个字符串,并通过正则表达式来判断该字符串是否至少包含一个字母和一个数字。
import re
str1 = "Tutorialspoint@123"
print("The given string is ")
print(str1)
res = bool(re.match('^(?=.*[0-9]$)(?=.*[a-zA-Z])', str1))
print("Checking whether the given string contains at least one alphabet and one number")
print(res)
输出
以上示例的输出如下所示:
The given string is
Tutorialspoint@123
Checking whether the given string contains at least one alphabet and one number
True
示例2
在下面给出的示例中,我们使用与上述相同的程序,但我们将不同的字符串作为输入发送。 −
import re
str1 = "Tutorialspoint!@#"
print("The given string is ")
print(str1)
res = bool(re.match('^(?=.*[0-9]$)(?=.*[a-zA-Z])', str1))
print("Checking whether the given string contains at least one alphabet and one number")
print(res)
输出
以下是上述代码的输出-
The given string is
Tutorialspoint!@#
Checking whether the given string contains at least one alphabet and one number
False
使用isalpha()方法和isdigit()方法
第二种方法是逐个检查每个字母,以确定它是字母,数字还是其他类型。我们将使用 isalpha() 方法来检查字母,并使用 isdigit() 方法来检查数字。
示例1
在下面给出的程序中,我们输入一个字符串,并对其进行迭代,检查是否至少有一个字母和一个数字 –
def checkString(str1):
letter_flag = False
number_flag = False
for i in str1:
if i.isalpha():
letter_flag = True
if i.isdigit():
number_flag = True
return letter_flag and number_flag
str1 = "Tutorialspoint123"
print("The given string is ")
print(str1)
res = checkString(str1)
print("Checking whether the given string contains at least one alphabet and one number")
print(res)
输出
上述示例的输出如下:
The given string is
Tutorialspoint123
Checking whether the given string contains at least one alphabet and one number
False
示例2
在下面给出的示例中,我们采用与上面相同的程序,但我们发送另一个字符串作为输入,并检查它是否至少包含一个字母和一个数字 –
def checkString(str1):
letter_flag = False
number_flag = False
for i in str1:
if i.isalpha():
letter_flag = True
if i.isdigit():
number_flag = True
return letter_flag and number_flag
str1 = "Tutorialspoint!@#"
print("The given string is ")
print(str1)
res = checkString(str1)
print("Checking whether the given string contains at least one alphabet and one number")
print(res)
输出
以下程序的输出是 –
The given string is Tutorialspoint!@#
Checking whether the given string contains at least one alphabet and one number
False