【问题标题】:Upper case letter followed by lower case letter in a string字符串中的大写字母后跟小写字母
【发布时间】:2023-12-25 04:09:01
【问题描述】:

如何检查字符串是否有一个大写1,小写1,以此类推的字母序列?

我可以使用 re.search() 来验证吗?最好的方法是什么?

text1 = "AbAb" -> return True 
text2 = "aBaB" -> return True
text3 = "ABaB" -> return False
text4 = "abAb" -> return False

【问题讨论】:

  • 你能告诉我们你到目前为止做了什么吗?

标签: python string search sequence


【解决方案1】:

您可以使用正则表达式。你可以试试here

def check(str_):
    pattern = re.compile("(?:[A-Z][a-z]|[a-z][A-Z])*")
    return pattern.match(str_).group(0) == str_

check("AbAb")
output: True

check("aBaB")
output: True

check("ABaB")
output: False

check("abAb")
output: False

【讨论】:

    【解决方案2】:

    使用re.search()

    import re
    [*map(lambda x: True if re.search(r'[A-Z][a-z][A-Z][a-z]|[a-z][A-Z][a-z][A-Z]', x) else False, 
          [text1, text2, text3, text4])]
    

    【讨论】:

      最近更新 更多