我想检查一个字符串是否为驼峰式( bool 型)。我倾向于使用正则表达式,但任何其他优雅的解决方案都可以。我写了一个简单的正则表达式

(?:[A-Z])(?:[a-z])+(?:[A-Z])(?:[a-z])+

这是正确的吗?还是我错过了什么?

编辑

我想在格式如下的文本文档集合中捕获名称
McDowell
O'Connor
T.Kasting

编辑2

我已根据评论中的建议修改了我的正则表达式
(?:[A-Z])(?:\S?)+(?:[A-Z])(?:[a-z])+

最佳答案

您可以检查一个字符串是否同时具有大写和小写字母。

def is_camel_case(s):
    return s != s.lower() and s != s.upper() and "_" not in s


tests = [
    "camel",
    "camelCase",
    "CamelCase",
    "CAMELCASE",
    "camelcase",
    "Camelcase",
    "Case",
    "camel_case",
]

for test in tests:
    print(test, is_camel_case(test))

输出:
camel False
camelCase True
CamelCase True
CAMELCASE False
camelcase False
Camelcase True
Case True
camel_case False

关于python - 检查Python中的驼峰大小写,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10182664/

10-08 22:30