1, 任务描述
一段文本中获取所关注的关键词出现的位置。
例如:‘我学python是因为python很有趣’,这段文本中python出现的位置为[[2, 8], [11, 17]]。
2, 解决方案
利用: re 模块中的search()函数可以返回匹配到的第一个关键词的起始位置(start,end)。
匹配到关键词后得到第一个位置(start,end),将第一个位置放入2个空list(starts\ends)中。
然后将mystr更新为mystr [end:],进行匹配新mystr中第一个关键词的起始位置(start,end)。此时,得到的是新mystr中的位置, (strat+ends[-1],end+ends[-1])才是原字符串的对应位置。一直循环至最后一个关键词位置被获取。
代码中定义的location_and_capture1(search_str,full_content)函数,获取到full_content文本中search_str出现的全部位置。
3,结果展示
将起始位置starts 和ends 进行合并,转化为所需格式。