【问题标题】:Finding the position of a pattern using the re module in Python在 Python 中使用 re 模块查找模式的位置
【发布时间】:2011-07-14 08:07:21
【问题描述】:

我查看了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 方法呢?

【问题讨论】:

标签: python regex position


【解决方案1】:

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

匹配对象m 的开头由m.start() 给出,结尾由m.end() 给出。

【讨论】:

  • 非常感谢朋友。该方法解决了这个问题:]
猜你喜欢
  • 2017-01-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-12
  • 2023-02-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多