多次搜索关键字并截取相邻文本

无奈re.search()只匹配首次;re.findall()返回结果为搜索关键字,虽然可以用.{n}key_word.{n}去匹配但是灵活性很差,所以。。。

用python写了一个粗略的,实际应用要做出相应修改的,不然会有很多bug跑出来,例如溢出、死循环~~

import os
import traceback


def find_cut(str1,str2):
    count=5#定义同段文本的重复匹配次数
    s=""
    while count:
        try:   
            temp=str2.find(str1)
            if (temp+1):
                s=s+str2[temp-5:temp+len(str1)+5]+'\n'#把搜索关键字的左右5个距离的文本cut下来,并转行
                str2=str2[temp+5:]  
        except:
            continue
            s=s+'None'
        count=count-1
    return s


def main():
    patten='python'#搜索关键字
    search_string='00000python00000-11111python11111-22222python22222'#要搜索文本
    print(find_cut(patten,search_string))
    
main()

输出结果:




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值