请教正则搜索如何返回重复值的索引?

新手上路,请多包涵

举例来说,在一个序列中,如
string =“我乘坐的是国航CA1760航班,这个航班的起飞时间是7:30,航班准点率比较高。”
待搜索的是s1 = '航班',用findall和search都可以得到返回值,用re.search(s1,string).start()和string.find(s1)好像只能返回首次出现s1的索引开始值?
请教该如何处理?

阅读 2.3k
3 个回答

那就从 第一次 出现的位置后面 继续 search,直到找不到

    >>> [match.span() for match in re.finditer(s1, string)]

返回一个元组列表:[(13, 15), (18, 20), (31, 33)]

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题