第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

正則表達(dá)式用于短語(yǔ)中的多個(gè)換行符

正則表達(dá)式用于短語(yǔ)中的多個(gè)換行符

UYOU 2023-08-08 10:34:30
我正在使用 Python 學(xué)習(xí)正則表達(dá)式,我想準(zhǔn)備一個(gè) RE 來(lái)匹配和收集以下輸入中的句子:食品:蛋糕:由面粉、糖和其他成分制成的烘焙甜食品。電子設(shè)備:計(jì)算機(jī):執(zhí)行計(jì)算機(jī)編程操作的機(jī)器。計(jì)算機(jī)主要由CPU、顯示器、鍵盤和鼠標(biāo)組成。汽車:汽車:汽車是用于運(yùn)輸?shù)乃妮啓C(jī)動(dòng)車輛。我的預(yù)期輸出應(yīng)該為我提供類別、項(xiàng)目和該項(xiàng)目的描述。因此,對(duì)于第一項(xiàng)“蛋糕”,RE 應(yīng)將“食品”、“蛋糕”、“由面粉、糖和其他成分制成的烘焙甜食”分組。我當(dāng)前的 RE 看起來(lái)像這樣:[0-9]+\s*.\s*(\w*)\s*:\s*(\w*)\s*:\s*(.*)這似乎適用于具有沒(méi)有換行符的描述的項(xiàng)目。如果它有換行符,即示例中的“計(jì)算機(jī)”,則 RE 只匹配其到換行符的描述。RE 丟棄該描述中的第二句話。請(qǐng)幫助我理解我在這里錯(cuò)過(guò)了什么。
查看完整描述

2 回答

?
大話西游666

TA貢獻(xiàn)1817條經(jīng)驗(yàn) 獲得超14個(gè)贊

如果類別、項(xiàng)目和描述由雙換行符分隔,您可以使用此示例來(lái)解析它(regex101):


import re


txt = '''1. Food : Cake : Baked sweet food made from flour, sugar and other ingredients.


2. Electronics : Computer : A machine to carry out a computer programming operation.

   Computers mainly consists of a CPU, monitor, keyboard and a mouse.


3. Automobile : Car : Car is a four wheeled motor vehicle used for transportation.'''



for cat, item, desc in re.findall(r'^(?:\d+)\.([^:]+):([^:]+):(.*?)(?:\n\n|\Z)', txt, flags=re.M|re.S):

    print(cat)

    print(item)

    print(desc)

    print('-' * 80)

印刷:


 Food 

 Cake 

 Baked sweet food made from flour, sugar and other ingredients.

--------------------------------------------------------------------------------

 Electronics 

 Computer 

 A machine to carry out a computer programming operation.

   Computers mainly consists of a CPU, monitor, keyboard and a mouse.

--------------------------------------------------------------------------------

 Automobile 

 Car 

 Car is a four wheeled motor vehicle used for transportation.

--------------------------------------------------------------------------------


查看完整回答
反對(duì) 回復(fù) 2023-08-08
?
慕少森

TA貢獻(xiàn)2019條經(jīng)驗(yàn) 獲得超9個(gè)贊

這可能是一種基本方法,但它適用于您提供的示例輸入:

[0-9]+\s*.\s*(\w*)\s*:\s*(\w*)\s*:\s*((?:.*[\n\r]?)+?)(?=$|\d\s*\.)

基本上,我們?cè)诿枋鲋胁捎帽M可能多的文本(包括換行符),直到到達(dá)文件末尾或另一個(gè)數(shù)字索引。


查看完整回答
反對(duì) 回復(fù) 2023-08-08
  • 2 回答
  • 0 關(guān)注
  • 161 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)