Python 我需要两个连续的小写字母作为密码要求
我在检查字符串中的两个连续小写字母时遇到问题 我试过这个:Python 我需要两个连续的小写字母作为密码要求,python,Python,我在检查字符串中的两个连续小写字母时遇到问题 我试过这个: def consecutivelowercases(input): checker = re.compile(r'([a-z][a-z])') for char in input: if re.search(checker, char): return True else: return False 我预计产出将是:
def consecutivelowercases(input):
checker = re.compile(r'([a-z][a-z])')
for char in input:
if re.search(checker, char):
return True
else:
return False
我预计产出将是:
- “测试”给出
True
- “测试”给出
False
- “测试”给出
False
- 您不想使用循环。假设“input”是一个字符串。然后,
对于输入中的字符:
将根据编译后的表达式检查每个字符,这将失败,因为正则表达式有2个字符长
def consecutivelowercases(input):
checker = re.compile(r'([a-z][a-z])')
return bool(re.search(checker, input))
我选择了一个简单的名字(好答案!)。如果您想保留您的结构:
def consecutivelowercases(input):
checker = re.compile(r'([a-z][a-z])')
if checker.search(input):
return True
else:
return False
此外,如果您想知道正则表达式在哪里找到第一个匹配项,我将:
def consecutivelowercases(input):
checker = re.compile(r'([a-z][a-z])')
a = checker.search(input)
if a:
print('first match: ' + a.group(1))
return True
else:
return False
你的意见是什么?你们在实际输出中得到了什么?它不起作用,若你们进行连续的VelowerCases(“测试”),当它应该返回False时,它返回True。在这个问题中,“test”给出了详细的错误,在这种情况下,应该有关于哪些字符串将通过测试的更详细的规则。有一些模棱两可的地方。字符串是否应仅包含两个连续的小写字母,而不应包含更多?字符串必须至少包含一个大写字母?我认为这个问题的措辞不够清晰,无法直接解决这个问题。