python中,一个字符串内包含数字、大小写字母,如何用精确匹配找到最后一个出现的任意大写字母的位置?

原题目在此

img

不能使用反转字符串的形式;最好是通过精确匹配/正则表达完成。谢谢各位~

按照回车切分,然后使用$匹配字符串的结尾
类似[A-Z][+\-]?$

img



import re
a = 'abcABC123'
b = re.search('[A-Z](?=[^A-Z]*$)',a)
print(b.span(),a[b.span()[0]])

span 表示出现位置,5,6 表示第五个位置出现,第六个位置结束,长度为6-5

img