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

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

Python Reg ex 需要讀取到行尾 \n

Python Reg ex 需要讀取到行尾 \n

米脂 2022-12-20 15:08:39
下面是我的字節類,我正在嘗試使用如下正則表達式讀取數據直到 Sujstderr=b'ok: [localhost] => () fatal: [localhost]: Failed! => {"changed":true,"stdout":"Error": Invalid user or pwd\nJoin AD\n Suj}'正則表達式#searchVal= re.search(r'fatal: \[localhost\]: Failed! =>(.*)[\n$](.*)',stderr.decode('utf-8'))但上面的 reg ex 給出了第一個 '\n' 的響應,但我想讀到最后,即第二個\n。我不確定缺少什么,任何線索將不勝感激。所需的響應類似于“changed”:true,“stdout”:“Error”:無效用戶或密碼\nJoin AD\n Suj}。但我越來越像“changed”:true,“stdout”:“Error”:無效的用戶或密碼\n加入 AD”。謝謝你的時間
查看完整描述

1 回答

?
holdtom

TA貢獻1805條經驗 獲得超10個贊

問題是點字符的使用,默認情況下不匹配換行符。使用DOTALL標志來改變它:


stderr=b'ok: [localhost] => () fatal: [localhost]: Failed! => {"changed":true,"stdout":"Error": Invalid user or pwd\nJoin AD\n Suj}'

exp = re.compile(r'fatal: \[localhost\]: Failed! =>(.*)[\n$](.*)', re.DOTALL)

res = exp.search(stderr.decode('utf-8'))

res.group() # Results in the following: 

結果:


'fatal: [localhost]: Failed! => {"changed":true,"stdout":"Error": Invalid user or pwd\nJoin AD\n Suj}'



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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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