Python单分支结构案例:在 Python中检查骆驼案例

我想检查一个字符串是否是一个骆驼的情况下(布尔)。我倾向于使用正则表达式,但任何其他优雅的解决方案将工作。我写了一个简单的正则表达式

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

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

Edit

我想在格式的文本文档集合中捕获名称

McDowell
O'Connor
T.Kasting
Edit2

我已经根据评论中的建议修改了我的正则表达式

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

您可以检查字符串是否有大写和小写。

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
3

你可能想要更像:

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

Altho 允许所有上限。您可以通过以下方式避免这种情况:

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

如果需要,使用^$\z对表达式进行定位。

3

使用像inflection这样的库将字符串转换为驼峰大小写。如果它没有改变,它一定已经是驼峰大小写了。

from inflection import camelize
def is_camel_case(s):
    # return True for both 'CamelCase' and 'camelCase'
    return camelize(s) == s or camelize(s, False) == s
0

我想你可能只是检查字符串有一个小写字母的大写,如果(line = 〜 m / [a-z] [A-Z] /)。

本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处

(151)
Python创建一个文件:试图在Python中创建一个KML文件
上一篇
Python表示分数:c++ 中的分数表示(what is 0.9 as a fraction)
下一篇

相关推荐

发表评论

登录 后才能评论

评论列表(87条)