在非连续大写字母上拆分字符串

Rou*_*ssó 2 python regex string split capitalization

我试图用大写字母分割一个字符串,但我不想分割两个连续的大写字母。

所以现在我正在这样做:

my_string == "TTestStringAA"
re.findall('[a-zA-Z][^A-Z]*', my_string)
>>> ['T', 'Test', 'String', 'A', 'A']
Run Code Online (Sandbox Code Playgroud)

但我正在寻找的输出是:

>>> ['TTest', 'String', 'AA']
Run Code Online (Sandbox Code Playgroud)

这个问题有一个干净简单的解决方案吗?

谢谢!

小智 5

我相信[A-Z]+[a-z]*满足您的要求:

>>> re.findall(r'[A-Z]+[a-z]*', my_string)
['TTest', 'String', 'AA']
Run Code Online (Sandbox Code Playgroud)