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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

用 b 標(biāo)簽替換 ** 封閉的文本

用 b 標(biāo)簽替換 ** 封閉的文本

翻過高山走不出你 2022-11-29 17:11:22
我有一個字符串。"This is an ** example ** sentence. It is ** awesome **."我想**.**用<b>.</b>保留匹配的通配符文本替換所有實例.結(jié)果應(yīng)該是:"This is an <b>example</b> sentence. It is <b>awesome</b>."我該怎么做呢?
查看完整描述

1 回答

?
嗶嗶one

TA貢獻(xiàn)1854條經(jīng)驗 獲得超8個贊

您可以使用捕獲組()來匹配**兩側(cè)包含的文本(您必須在正則表達(dá)式中使用 like 轉(zhuǎn)義它們\*,因為否則它們是正則表達(dá)式控制字符)。然后,您可以使用以下方法在替換文本中引用捕獲的組\1:


import re

inp = "This is an **example** sentence. It is **awesome**."

out = re.sub(r'\*\*(.+?)\*\*', r'<b>\1</b>', inp)

# 'This is an <b>example</b> sentence. It is <b>awesome</b>.'

如果你想對剛剛隔離的組做更復(fù)雜的事情,那么你可以給 lambda 或函數(shù)作為第二個參數(shù)re.sub()。例如,要使捕獲的組大寫:


out = re.sub(r'\*\*([^*]+)\*\*', 

             lambda g: f'<b>{g.group(1).upper()}</b>', 

             inp)

# 'This is an <b>EXAMPLE</b> sentence. It is <b>AWESOME</b>.'

lambda 函數(shù)是用正則表達(dá)式結(jié)果對象調(diào)用的,因此g.group(1)等效于\1,即模式中的第一個捕獲組。當(dāng)然,作為一個字符串。我們只是調(diào)用.upper()它使其變成大寫。


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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