使用Python中的re模块查找模式的位置

时间:2011-03-13 04:59:33

标签: python regex position

我查看了re模块提供的一系列方法,但我似乎无法找到一个提供模式的位置的方法。

例如,请考虑以下代码:

import re

text = '23132102301211213302'

x=re.findall(r'21',text)

print x

输出:

['21', '21', '21']

我只得到一个21的列表作为我的输出,这对我的目的没用。我想知道是否有一个类似于findall的方法,它给出21的位置,而不仅仅是21的位置(即第一个21位于第4位,第二个位于第11位......)

2313 *的 21 * 02301211213302 - >职位:4

23132102301 * 21 * 1213302 - >职位:11

23132102301211 *的 21 * 3302 - >职位:14

所以期望的输出应该是[4,11,14]。是否有re方法?

1 个答案:

答案 0 :(得分:2)

re.finditer()会为您提供MatchObjects,其中包括提供该职位。

匹配对象m的开头由m.start()提供,如果您也想要,则以m.end()结尾。