检查句子中的单词是否为字母数字和 return alnum 单词
Check if a word in a sentence is alphanumeric and return the alnum word
我一直在做一个项目,我必须检查用户输入的字符串是否为字母数字。
现在,我已经构建了我的代码,并且有一个函数需要检查任何单词是否为字母数字。
该程序是让用户输入一个句子和他的许可证号,该许可证号是字母数字形式,如“221XBCS”。因此,如果用户输入 suppose- 'My license number is 221124521' 而不是 221XBCS,我希望程序停止。
但是我当前的程序假设 re.match 条件始终为真。为什么会这样??
import re
s = input("Please enter here:")
if re.search(r'\bnumber \b',s):
x = (s.split('number ')[1])
y = x.split()
z = y[0]
print(z)
if re.match('^[\w-]+$', z):
print('true')
else:
print('False')
输出现在看起来像这样:
Please enter here:my license number is 221
is
true
我希望我的程序从输入中获取 alnum 值。就这些!
对于正则表达式,以相反的方式看问题通常很有价值。
在这种情况下,最好查看字符串是否不是纯数字,而不是查看它是否是字母数字。
if re.match('[^\d]', z):
print('The string is no a pure numerical')
我想我理解你的情况:用户应该输入他的许可证号码,该号码只能包含字母字符 AND 数字(两者):
内置函数:
s = input("Please enter here:")
l_numbers = list(filter(lambda w: not w.isdigit() and not w.isalpha() and w.isalnum(), s.strip().split()))
l_number = l_numbers[0] if l_numbers else ''
print(l_number)
假设用户输入了 My license number is 221XBCS thanks.
输出将是:
221XBCS
我一直在做一个项目,我必须检查用户输入的字符串是否为字母数字。 现在,我已经构建了我的代码,并且有一个函数需要检查任何单词是否为字母数字。 该程序是让用户输入一个句子和他的许可证号,该许可证号是字母数字形式,如“221XBCS”。因此,如果用户输入 suppose- 'My license number is 221124521' 而不是 221XBCS,我希望程序停止。 但是我当前的程序假设 re.match 条件始终为真。为什么会这样??
import re
s = input("Please enter here:")
if re.search(r'\bnumber \b',s):
x = (s.split('number ')[1])
y = x.split()
z = y[0]
print(z)
if re.match('^[\w-]+$', z):
print('true')
else:
print('False')
输出现在看起来像这样:
Please enter here:my license number is 221
is
true
我希望我的程序从输入中获取 alnum 值。就这些!
对于正则表达式,以相反的方式看问题通常很有价值。 在这种情况下,最好查看字符串是否不是纯数字,而不是查看它是否是字母数字。
if re.match('[^\d]', z):
print('The string is no a pure numerical')
我想我理解你的情况:用户应该输入他的许可证号码,该号码只能包含字母字符 AND 数字(两者):
内置函数:
s = input("Please enter here:")
l_numbers = list(filter(lambda w: not w.isdigit() and not w.isalpha() and w.isalnum(), s.strip().split()))
l_number = l_numbers[0] if l_numbers else ''
print(l_number)
假设用户输入了 My license number is 221XBCS thanks.
输出将是:
221XBCS