Python 3.x python中的isalnum()未给出预期结果

Python 3.x python中的isalnum()未给出预期结果,python-3.x,Python 3.x,但“xy”不是字母数字。 Python版本3.6.4正如@BugHunter所指出的,isalnum()可能对您的情况没有帮助 您可以尝试: bool(re.match('^(?=.*[a-zA-Z])(?=.*[0-9]),string))字母数字表示由字母和数字或两者组成,因此您会收到该输出。空格不是字母数字,因此它是false。xy 12返回false,因为空格不是字母数字,而是xy是str.isalnum()返回True,否则返回False。如果以下任一项返回True,则字符c为字母数字

但“xy”不是字母数字。
Python版本3.6.4

正如@BugHunter所指出的,
isalnum()
可能对您的情况没有帮助

您可以尝试:


bool(re.match('^(?=.*[a-zA-Z])(?=.*[0-9]),string))
字母数字表示由字母和数字或两者组成,因此您会收到该输出。空格不是字母数字,因此它是false。

xy 12
返回false,因为
空格
不是字母数字,而是
xy
是<如果字符串中的所有字符都是字母数字且至少有一个字符,则code>str.isalnum()返回True,否则返回False。如果以下任一项返回True,则字符c为字母数字:c.isalpha()、c.isdecimal()、c.isdigit()或c.isnumeric()。裁判:https://docs.python.org/3/library/stdtypes.html?highlight=isalnum#str.isalnum
string = "xyz123"
print(string.isalnum()) # this returns 'True'

string = "xy 12" 
print(string.isalnum()) # this returns 'False'

string = "xy" 
print(string.isalnum()) # this return 'True'