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

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

Python 正則表達(dá)式 - 正后視量詞替代方案

Python 正則表達(dá)式 - 正后視量詞替代方案

狐的傳說 2022-11-29 17:12:12
我有一段莎士比亞戲劇的對話,基本上我想做的是:在每個(gè)演員姓名后插入一個(gè)冒號(hào) (:)。于是對話框變成了這樣:布魯圖斯:布拉布拉布拉CESAR:布拉布拉布拉布拉安東尼:布拉布拉布拉布拉您可以看到情況并非如此,如下所示:line_1 = 'CASSIUS Brutus, I misunderstood your feelings, and therefore kept to myself certain thoughts I might have shared. Tell me, good Brutus, can you see your face?'line_2 = 'Trumpets play. Everyone exits except BRUTUS and CASSIUS .'對話框的格式如下:演員姓名在行首全部大寫 例如line_1 >>> CASSIUS即 CASSIUS 是這里的演員。但是,有些臺(tái)詞包含以大寫格式書寫的劇中演員的姓名(不是在臺(tái)詞的開頭)。請參見第 2 行。需要的是一個(gè)正則表達(dá)式或 Python 方法來在每個(gè)演員姓名后插入一個(gè)冒號(hào)。我們通過以下兩個(gè)條件知道演員的名字:1) 它在行的開頭。2) 全部以大寫格式書寫。CASSIUS 是 line_1 中的演員(它滿足兩個(gè)條件)。然而,BRUTUS 和 CASSIUS 的第 2 行并非如此(它們位于行的中間),因此它們的名稱后沒有冒號(hào)。這是我的嘗試,適用于第 2 行中不需要的詞 BRUTUS 和 CASSIUS!re.sub(r'(?<=([A-Z][A-Z]\b))', ': ', line_1)re.sub(r'(?<=([A-Z][A-Z]\b))', ': ', line_1)我得到以下輸出,這不好!'CASSIUS:  Brutus, I misunderstood your feelings, and therefore kept to myself certain thoughts I might have shared. Tell me, good Brutus, can you see your face?''Trumpets play. Everyone exits except BRUTUS:  and CASSIUS:  .'
查看完整描述

1 回答

?
慕桂英4014372

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

您的方法過于復(fù)雜。"^"只需替換字符串開頭 ( ) 處的兩個(gè)或多個(gè)大寫字母即可。這里,"\\1"是對括號(hào)中第一組的引用。

re.sub("^([A-Z]{2,})", "\\1:", line_1)# 'CASSIUS: Brutus,...'


查看完整回答
反對 回復(fù) 2022-11-29
  • 1 回答
  • 0 關(guān)注
  • 110 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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