python 正则匹配获取指定多个词的在字符串(句子/段落)索引位置
利用re.finditer()特性。
finditer() 返回一个MatchObject类型的iterator,它提供了匹配对象作为返回值,而不是字符串。
官网介绍:https://docs.python.org/zh-cn/3.7/library/re.html
import re text='每天起床后,你还会收到一张小卡片,这是潮汐在向你报告昨晚睡了个怎样的觉。基于你的入睡时间、睡眠情况和睡眠时长等因素,综合计算后会得出一个指数,让你对自己的睡眠质量有一个大致的了解。「潮汐日记」中有你过去每周每月的入睡时间、醒来时间和睡眠质量记录,不时地回顾,可以帮你更好地管理和改善睡眠。' keyword='潮汐|时间' for i in re.finditer(keyword, text): print(i.group(),str(i.span())) 输出结果: 潮汐 (19, 21) 时间 (42, 44) 潮汐 (91, 93) 时间 (108, 110) 时间 (113, 115)