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”给出了详细的错误,在这种情况下,应该有关于哪些字符串将通过测试的更详细的规则。有一些模棱两可的地方。字符串是否应仅包含两个连续的小写字母,而不应包含更多?字符串必须至少包含一个大写字母?我认为这个问题的措辞不够清晰,无法直接解决这个问题。