从RegEx'd字符串中查找字符位置

jos*_*inm 0 python regex

说,我有'ABBACDA',我想找到每个A的位置索引.

在Python中使用Regex, match = re.findall('A', 'ABBACDA') 只返回一个列表.

我可以用任何方式调整这个吗?或者我应该走一条完全不同的路线?我想避免使用a,for x in enumerate(str)因为我也想检查"BB"是什么以及从哪个索引开始.

mou*_*uad 5

使用re.finditer()

例1:

match = re.finditer('A', 'ABBACDA')
for m in match:
    print m.start(), m.end(), m.group(0)
Run Code Online (Sandbox Code Playgroud)

输出:

0 1 A
3 4 A
6 7 A
Run Code Online (Sandbox Code Playgroud)

例2:

match = re.finditer('BB', 'ABBACDA')
for m in match:
    print m.start(), m.end(), m.group(0)
Run Code Online (Sandbox Code Playgroud)

输出:

1 3 BB
Run Code Online (Sandbox Code Playgroud)