Python正则表达式:查找所有没有紧跟小写字母的大写字母

3

如何保留所有大写字母,只要后续字符不是小写字母?

考虑以下示例:

import re
test1 = 'ThisIsATestTHISISATestTHISISATEST'

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

期望: 这个'THISISAT'应该读作'THISISA'

1
你能提供更多的例子吗? - alec_djinn
为什么(用简单的模式术语)不应该匹配'THISISAT'的最终大写字母,而'THISISATEST'的最终大写字母应该匹配?具体标准是什么? - outis
1个回答

4
尝试使用正则表达式101( regex101):
import re

test1 = "ThisIsATestTHISISATestTHISISATEST"

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

输出:

['THISISA', 'THISISATEST']

1
[A-Z]{2}[A-Z]* -> [A-Z]{2,} - bobble bubble

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接