欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python?獲取指定開頭指定結(jié)尾所夾中間內(nèi)容(推薦)

 更新時(shí)間:2023年02月20日 14:51:17   作者:來一粒4869  
獲取文章中指定開頭、指定結(jié)尾中所夾的內(nèi)容。其中,開頭和結(jié)尾均有多種,但最多也就十幾種,所以代碼還是具有可行性的,今天小編給大家介紹通過Python?獲取指定開頭指定結(jié)尾所夾中間內(nèi)容,感興趣的朋友一起看看吧

cv的xdm可以直接翻到 需求代碼 用,想看中間的分析就老實(shí)往下看吧

little 背景

最近在做畢設(shè),需要將幾百篇整體結(jié)構(gòu)差不多的文章中提取出一些內(nèi)容,所以才有了這個(gè)blog。

需求

獲取文章中指定開頭、指定結(jié)尾中所夾的內(nèi)容。其中,開頭和結(jié)尾均有多種,但最多也就十幾種,所以代碼還是具有可行性的。

例:

X X 市 人 民 檢 察 院 指 控 : ‾ \underline{XX市人民檢察院指控:} XX市人民檢察院指控:?被告人XXX與被害人YYY(女,歿年41歲,系XXX妻子)因家庭矛盾多次發(fā)生爭執(zhí)。X年Y月Z日早晨,被告人XXX在X市X市場…被告人XXX為偏執(zhí)性精神障礙,具有限制刑事責(zé)任能力。
公 訴 機(jī) 關(guān) 認(rèn) 為 ‾ \underline{公訴機(jī)關(guān)認(rèn)為} 公訴機(jī)關(guān)認(rèn)為?,被告人XXX故意非法剝奪他人生命,致一人死亡,其行為應(yīng)以故意殺人罪追究刑事責(zé)任

所需內(nèi)容為:第一個(gè)下劃線到第二個(gè)下劃線中間的內(nèi)容,即“被告人XXX…責(zé)任能力。”。其中,“檢察院指控”是指定開頭,“公訴機(jī)關(guān)認(rèn)為”是指定結(jié)尾。

解決方案

原本想著NLP有沒有現(xiàn)成的庫可以直接調(diào)包,后來搜了半天沒搜到,然后看到了正則表達(dá)式(真香)。

代碼

低配方法:

適用于只有一種固定開頭和結(jié)尾,多種就不行了

import re
def GetMiddleStr(content,startStr,endStr):
#     patternStr = r'.*%s(.+?)%s.*'%(startStr,endStr) # 此模式不能跨段,‘.'只能匹配除了'\n'外所有單個(gè)字符
    patternStr = r'[\s\S]*%s(.+?)%s[\s\S]*'%(startStr,endStr)
#     patternStr = re.compile(patternStr,re.IGNORECASE) # 忽略大小寫 ,這個(gè)適用于英文文章
    middleStr= re.match(patternStr,content)
    if middleStr:
        return middleStr.group(1)

中配方法:

適用于多種固定開頭和結(jié)尾,不過是蠻力法,可以優(yōu)化判斷,減少循環(huán)次數(shù)

import re
def GetMiddleStr2(content,startStr,endStr):
#     patternStr = r'.*%s(.+?)%s.*'%(startStr,endStr)
    goalStr = str('')
    
    for sStr in startStr:
        for eStr in endStr:
            patternStr = r'[\s\S]*%s(.+?)%s[\s\S]*'%(sStr,eStr)
            middleStr= re.match(patternStr,content)
            if middleStr:
                if not goalStr: # 判斷 空 時(shí)候的值
                    goalStr = middleStr.group(1)
                else:        # 非空時(shí),將將短的留下來 
                    goalStr = middleStr.group(1) if len(goalStr)>len(middleStr.group(1)) else goalStr
                    
    return goalStr

運(yùn)行效果

content='且得到被害人家屬諒解。綜上,建議法庭對被告人XXX減輕處罰。經(jīng)審理查明:被告人XXX與被害人YYY因家庭矛盾多次發(fā)生爭執(zhí)。X年Y月Z日清晨,被告人XXX在X市X市場......被告人XXX為偏執(zhí)性精神障礙,具有限制刑事責(zé)任能力。公訴機(jī)關(guān)認(rèn)為,被告人XXX故意非法剝奪他人生命,致一人死亡,其行為應(yīng)以故意殺人罪追究刑事責(zé)任'
startStr = '經(jīng)審理查明:'
endStr = '公訴機(jī)關(guān)認(rèn)為,'
print(GetMiddleStr(content,startStr,endStr))

在這里插入圖片描述

第二種運(yùn)行時(shí)將startStr和endStr分別賦值為:[‘AAA’,‘BBB’,…],即可
例如:
startStr = [‘審理查明:’,‘審理查明:’,‘檢察院指控’]
endStr = [‘經(jīng)鑒定’,‘經(jīng)鑒定,’, ‘歸案后’]

代碼講解

正則表達(dá)式查一下手冊即可:
.*:除了’\n’以外所有字符重復(fù)多次
[\s\S]:空白字符或者非空白字符,即所有字符(一個(gè)集合∪它在全集中的補(bǔ)集,即全集)
其余查一下手冊就ok
正則表達(dá)式手冊

到此這篇關(guān)于Python 獲取指定開頭指定結(jié)尾所夾中間內(nèi)容的文章就介紹到這了,更多相關(guān)Python 獲取指定開頭指定結(jié)尾中間內(nèi)容內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python?模擬死鎖的常見實(shí)例詳解

    Python?模擬死鎖的常見實(shí)例詳解

    這篇文章主要為大家介紹了Python?模擬死鎖的常見實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • 用python解壓分析jar包實(shí)例

    用python解壓分析jar包實(shí)例

    今天小編就為大家分享一篇用python解壓分析jar包實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • Python實(shí)現(xiàn)批量壓縮圖片

    Python實(shí)現(xiàn)批量壓縮圖片

    這篇文章主要為大家詳細(xì)介紹了Python實(shí)現(xiàn)批量壓縮圖片的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • Python安裝與基本數(shù)據(jù)類型教程詳解

    Python安裝與基本數(shù)據(jù)類型教程詳解

    這篇文章主要介紹了Python安裝與基本數(shù)據(jù)類型教程詳細(xì)講解,本文圖文并茂給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下
    2019-05-05
  • Python 比較兩個(gè)數(shù)組的元素的異同方法

    Python 比較兩個(gè)數(shù)組的元素的異同方法

    下面小編就為大家?guī)硪黄狿ython 比較兩個(gè)數(shù)組的元素的異同方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-08-08
  • python 日期排序的實(shí)例代碼

    python 日期排序的實(shí)例代碼

    這篇文章主要介紹了python 日期排序的實(shí)例代碼,代碼簡單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下
    2019-07-07
  • Python自動(dòng)化導(dǎo)出zabbix數(shù)據(jù)并發(fā)郵件腳本

    Python自動(dòng)化導(dǎo)出zabbix數(shù)據(jù)并發(fā)郵件腳本

    這篇文章主要介紹了Python自動(dòng)化導(dǎo)出zabbix數(shù)據(jù)并發(fā)郵件腳本,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-08-08
  • python 用opencv實(shí)現(xiàn)霍夫線變換

    python 用opencv實(shí)現(xiàn)霍夫線變換

    這篇文章主要介紹了python 如何用opencv實(shí)現(xiàn)霍夫線變換,幫助大家更好的理解和使用python處理圖片,感興趣的朋友可以了解下
    2020-11-11
  • 最小二乘法及其python實(shí)現(xiàn)詳解

    最小二乘法及其python實(shí)現(xiàn)詳解

    今天小編就為大家分享一篇最小二乘法及其python實(shí)現(xiàn)詳解,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • 淺談Scrapy網(wǎng)絡(luò)爬蟲框架的工作原理和數(shù)據(jù)采集

    淺談Scrapy網(wǎng)絡(luò)爬蟲框架的工作原理和數(shù)據(jù)采集

    在python爬蟲中:requests + selenium 可以解決目前90%的爬蟲需求,難道scrapy 是解決剩下的10%的嗎?顯然不是。scrapy框架是為了讓我們的爬蟲更強(qiáng)大、更高效。接下來我們一起學(xué)習(xí)一下它吧。
    2019-02-02

最新評論