字符串中大写字母后跟小写字母
Upper case letter followed by lower case letter in a string
如何检查字符串的字母序列是否为 1 upper,然后是 1 lower 等等?
我可以使用 re.search() 来验证吗?最好的方法是什么?
text1 = "AbAb" -> return True
text2 = "aBaB" -> return True
text3 = "ABaB" -> return False
text4 = "abAb" -> return False
您可以使用正则表达式。你可以试试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
使用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])]
如何检查字符串的字母序列是否为 1 upper,然后是 1 lower 等等?
我可以使用 re.search() 来验证吗?最好的方法是什么?
text1 = "AbAb" -> return True
text2 = "aBaB" -> return True
text3 = "ABaB" -> return False
text4 = "abAb" -> return False
您可以使用正则表达式。你可以试试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
使用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])]