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

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

正則表達式:匹配字符+換行之前(換行換行)

正則表達式:匹配字符+換行之前(換行換行)

人到中年有點甜 2023-03-16 15:55:08
細繩:testing = "\nHello\nMy name is blah blah blah\nNice to meet you\nPS: Wait a second, I thought I know you.\nRegards\n\nUnknown\n\nHang on a minute\nI'm not done talking\n\nRegards\nOh OK"打?。篐elloMy name is blah blah blahNice to meet youPS: Wait a second, I thought I know you.RegardsUnknownHang on a minuteI'm not done talkingRegardsOh OK期望的結果:My name is blah blah blahNice to meet youPS: Wait a second, I thought I know you.Regards嘗試的解決方案:test = re.search('(Hello)([\s\S]*)(\n\n)', testing).group(2)返回:\nMy name is blah blah blah\nNice to meet you\nPS: Wait a second, I thought I know you.\nRegards\n\nUnknown\n\nHang on a minute\nI'm not done talking但是,這錯過了我認為與 [\s\S] 有關的第一個 '\n\n'。我們有什么辦法可以在第一個 '\n\n' 處結束搜索?
查看完整描述

1 回答

?
慕的地10843

TA貢獻1785條經驗 獲得超8個贊

重復*器是貪心的,它盡可能多地匹配直到\n\n(這是字符串中的最后一次出現)。在它后面放一個問號以使其不貪婪,以便它盡可能少地匹配:直到它匹配的第一次出現\n\n:


test = re.search('(Hello)([\s\S]*?)(\n\n)', testing).group(2)

print(test)

輸出:


Hello

My name is blah blah blah

Nice to meet you

PS: Wait a second, I thought I know you.

Regards


查看完整回答
反對 回復 2023-03-16
  • 1 回答
  • 0 關注
  • 77 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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