亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

使用 reg ex 和 re.sub 匹配模式

使用 reg ex 和 re.sub 匹配模式

開心每一天1111 2023-12-29 16:47:08
我試圖從一些數據中刪除以下模式,但得到的結果好壞參半。--endof["somerandomtext"]基本上,文本總是以 開頭--endof["和結尾,"]并且之間的單詞會發生變化。我正在使用的代碼行目前無法正常工作。d = re.sub('--+([a-zA-Z0-9_"-\[]*)+\]', " ", d)我是嘗試使用 re.sub 或任何方法解析數據的新手。我一直在猜測如何嘗試使這條線正常工作,我可能有一些錯誤導致了我的問題。任何幫助表示贊賞。
查看完整描述

2 回答

?
牛魔王的故事

TA貢獻1830條經驗 獲得超3個贊

要刪除以 開頭--endof["和結尾的文本"],您應該將它們匹配為精確字符,并匹配中間的子字符串。

因為[]在正則表達式中具有特殊含義,所以您需要使用\(如注釋中正確所述,]不必在此處轉義,為了更加清晰而將其轉義)對它們進行轉義。

在此示例中,中間的子字符串由一個或多個字母和數字組成(因此是+)。它可以根據需要進行更改。

str = re.sub('--endof\["[a-zA-Z0-9]+"\]', "", str)

為了進一步打破這個問題 -

--endof完全匹配這些字符。
\[匹配字符[。
"匹配字符"。
[a-zA-Z0-9]+匹配由一個或多個字母和數字組成的字符串(+表示“一個或多個”)。
"再次匹配字符"。
\]匹配字符](并且可以單獨指定])。


查看完整回答
反對 回復 2023-12-29
?
月關寶盒

TA貢獻1772條經驗 獲得超5個贊

s = re.sub('--endof\[[^]]+]', '', s)

--endof[這會刪除以 開頭、后跟任意數量的非]s ( [^]]+) 和 a 的字符串]。適用于任何不包含右括號的文本。


查看完整回答
反對 回復 2023-12-29
  • 2 回答
  • 0 關注
  • 183 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號