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

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

Python:正則表達式——提取中文文本

Python:正則表達式——提取中文文本

SMILET 2022-07-12 15:54:47
我正在嘗試從以下文本中提取省份和城市名稱(這是 html,但我刪除了一些轉義字符)。但是,我編寫的正則表達式返回一個空白列表。當我在一個 re 網站(例如https://regex101.com/)上測試代碼時,它似乎可以工作,但是當我在腳本中編寫它時它不起作用。這是我的代碼的縮短版本(html 轉儲要長得多)。任何幫助,將不勝感激。import retext = 'try  window.getAreaStat = [provinceName:湖北省,provinceShortName:湖北,confirmedCount:3554,suspectedCount:0,curedCount:80,deadCount:125,comment:待明確地區:治愈 30,cities:[cityName:武漢,confirmedCount:1905,suspectedCount:0,curedCount:47,deadCount:104,cityName:黃岡,confirmedCount:324,suspectedCount:0,curedCount:2,deadCount:5,cityName:孝感,confirmedCount:274,suspectedCount:0,curedCount:0,deadCount:3,cityName:荊門,confirmedCount:142,suspectedCount:0,curedCount:0,deadCount:4,cityName:襄陽,confirmedCount:131,suspectedCount:0,curedCount:0,deadCount:0,cityName:隨州,confirmedCount:116,suspectedCount:0,curedCount:0,deadCount:0,cityName:咸寧,confirmedCount:112,suspectedCount:0,curedCount:0,deadCount:0,cityName:荊州,confirmedCount:101,suspectedCount:0,curedCount:1,deadCount:2,cityName:十堰,confirmedCount:88,suspectedCount:0,curedCount:0,deadCount:0,cityName:黃石,confirmedCount:86,suspectedCount:0,curedCount:0,deadCount:1,cityName:鄂州,confirmedCount:84,suspectedCount:0,curedCount:0,deadCount:1,cityName:宜昌,confirmedCount:63,suspectedCount:0,curedCount:0,deadCount:1,cityName:恩施regex = "((?<=provinceName:)|(?<=cityName:)).*?(?=,)"province = re.findall(regex, text)print(province)['', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '']
查看完整描述

1 回答

?
心有法竹

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

從此答案中,re.findall將返回所有捕獲的組。我在https://regexr101.com中嘗試了您的正則表達式,它都返回空白捕獲組。

您可以通過添加使用非捕獲組(?:...)

regex = "(?:(?<=provinceName:)|(?<=cityName:)).*?(?=,)"

在 Repl.it 上預覽


查看完整回答
反對 回復 2022-07-12
  • 1 回答
  • 0 關注
  • 322 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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