python 正则匹配获取指定多个词的在字符串(句子/段落)索引位置
利用re.finditer()特性。
finditer() 返回一个MatchObject类型的iterator,它提供了匹配对象作为返回值,而不是字符串。
官网介绍:/zh-cn/3.7/library/re.htmlimport 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)