Python Regex - 检查大写字母后面的大写字母

Two*_*rts 6 python regex string

我正在尝试检查一个大写字母,后面有一个小写字母.诀窍是会有一堆垃圾大写字母和数字直接出现在它之前.例如:

AASKH317298DIUANFProgramming is fun
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,在我们需要的短语之前,我们不需要直接提供一些东西Programming is fun.

我正在尝试使用正则表达式来执行此操作,通过获取每个字符串然后替换它,''因为原始字符串不必保留.

re.sub(r'^[A-Z0-9]*', '', string)
Run Code Online (Sandbox Code Playgroud)

这段代码的问题在于它离开了我们rogramming is fun,因为它P是一个大写字母.

我如何检查以确保如果下一个字母是小写字母,那么我应该保持该资本不受影响.(PProgramming)

Mar*_*ers 12

使用否定前瞻:

re.sub(r'^[A-Z0-9]*(?![a-z])', '', string)
Run Code Online (Sandbox Code Playgroud)

这匹配任何后面没有小写字符的大写字符或数字.

演示:

>>> import re
>>> string = 'AASKH317298DIUANFProgramming is fun'
>>> re.sub(r'^[A-Z0-9]*(?![a-z])', '', string)
'Programming is fun'
Run Code Online (Sandbox Code Playgroud)