如何在Python中检查一个字符串是否至少包含一个字母和一个数字?
**在本文中,我们将找出如何在Python中检查一个字符串是否至少包含一个字母和一个数字。 **
首先使用正则表达式技术。导入re库并安装它(如果尚未安装),以使用它。导入re库后,我们可以使用正则表达式 ('^(?=.*[0-9] $ )(?=.*[a-zA-Z])' 。如果字符串包含除字母和数字之外的任何特殊字符,则返回False;否则返回True。
在正则表达式中,?=语法用于调用lookaheads。 Lookaheads 通过向前查看提供的字符串,从当前位置开始发现匹配。
示例1
在下面的示例中,我们输入一个字符串,并使用正则表达式检查字符串是否至少有一个字母和一个数字。 −
import re
str1 = "Tutorialspoint@123"
print("给定字符串是")
print(str1)
res = bool(re.match('^(?=.*[0-9]$)(?=.*[a-zA-Z])', str1))
print("检查给定字符串是否至少包含一个字母和一个数字")
print(res)
输出
以上示例的输出如下所示 −
给定字符串是
Tutorialspoint@123
检查给定字符串是否至少包含一个字母和一个数字
True
示例2
在下面的示例中,我们采用与上述相同的程序,但我们发送不同的字符串作为输入 −
import re
str1 = "Tutorialspoint!@#"
print("给定字符串是")
print(str1)
res = bool(re.match('^(?=.*[0-9]$)(?=.*[a-zA-Z])', str1))
print("检查给定字符串是否至少包含一个字母和一个数字")
print(res)
输出
以下是上述代码的输出−
给定字符串是
Tutorialspoint!@#
检查给定字符串是否至少包含一个字母和一个数字
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("给定字符串是")
print(str1)
res = checkString(str1)
print("检查给定字符串是否至少包含一个字母和一个数字")
print(res)
输出
以上示例的输出如下所示−
给定字符串是
Tutorialspoint123
检查给定字符串是否至少包含一个字母和一个数字
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("给定字符串为")
print(str1)
res = checkString(str1)
print("检查给定字符串是否包含至少一个字母和一个数字")
print(res)
输出结果
以下程序的输出结果为 −
给定字符串为Tutorialspoint!@#
检查给定字符串是否包含至少一个字母和一个数字
False
极客教程