我查看了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
方法?
答案 0 :(得分:2)
re.finditer()
会为您提供MatchObjects
,其中包括提供该职位。
匹配对象m
的开头由m.start()
提供,如果您也想要,则以m.end()
结尾。