2011-07-28 84 views
2

嗨,我有以下文本。如何使用正則表達式提取多行文字python

X = 「」 「你好,這是一個\ nmultiline文本\ nend.Hello,這是\ n該第二 chunck \ NEND」 「」

你好的這種模式,\ NEND 。不斷重複。我想提取這兩個單詞的每個集合之間的文本。我試圖用這個

B = re.search(R '(?< =你好,)+(?=結束)',X,re.DOTALL)

,但我得到的所有文字從開始到結束。我如何獲得單獨的文本塊?

Thanks.p

+0

你是什麼意思在單獨的塊?請給我們預期的產出。 –

回答

6

使用lazy quantifier.+?代替.+

問題是,.+儘可能匹配,所以只是一直吃到文檔的最後。添加問號表示它儘可能少地匹配。

+0

謝謝,這工作。 b = re.findall(r'(?<= Hello,)。+?(?= end)',x,re.DOTALL); b.group() – pogo

相關問題