如果后面的字符不是小写,我怎么能保留所有的大写字符?

请考虑以下示例:

import re
test1 = 'ThisIsATestTHISISATestTHISISATEST'

re.findall(r'[A-Z]{2}[^a-z]+', test1)
# ['THISISAT', 'THISISATEST']

Expectation: 这个:'THISISAT',应该是:'THISISA'

推荐答案

try (regex101):

import re

test1 = "ThisIsATestTHISISATestTHISISATEST"

print(re.findall(r"[A-Z]{2}[A-Z]*(?![a-z])", test1))

打印:

['THISISA', 'THISISATEST']

Python相关问答推荐

用Python获取HTML Span类中的数据

如何在PIL、Python中对图像应用彩色面膜?

遵循轮廓中对象方向的计算线

有什么方法可以避免使用许多if陈述

Django管理面板显示字段最大长度而不是字段名称

Pystata:从Python并行运行stata实例

对某些列的总数进行民意调查,但不单独列出每列

try 在树叶 map 上应用覆盖磁贴

如何让剧作家等待Python中出现特定cookie(然后返回它)?

输出中带有南的亚麻神经网络

如何使用数组的最小条目拆分数组

NP.round解算数据后NP.unique

OR—Tools CP SAT条件约束

如何调整QscrollArea以正确显示内部正在变化的Qgridlayout?

Pandas计数符合某些条件的特定列的数量

给定高度约束的旋转角解析求解

有没有一种ONE—LINER的方法给一个框架的每一行一个由整数和字符串组成的唯一id?

如何在PySide/Qt QColumbnView中删除列

在Python中使用yaml渲染(多行字符串)

裁剪数字.nd数组引发-ValueError:无法将空图像写入JPEG