2016-11-06 25 views
1

例如假設1有這樣的文字。大多數Python的方式,通過文本搜索找到問題的答案

Lorem存有胡蘿蔔,生態番茄湯。沒有 醬是從氣體制成。現在阿梅德,誰 軟悽然一笑,儘管戶外發布,現在誰 開發商不只是胡蘿蔔。得力士作爲僱員,局宣傳,

  1. 你叫什麼名字和職業?

下午1點傑裏和1'm失業

  • 多大你的家人?
  • 有我們五

    也很LOREM,筆記本電腦或忍受它,牛肉沙拉懷孕。 功課排球裙子房地產。茉莉,但開發商說, 扣除。應力谷,但定時層。在動畫片,而不是仇恨 執法,malesuada feugiat mauris Nam等。生活聊天

    什麼是通過文字搜索的最簡單的方法,並找到answesr的問題嗎?莫非,抓住問號和下一個號碼的工作之間的所有文字正則表達式?乾杯。

    編輯:這是否有意義有絲毫的正則表達式? \\?([^]]+)\\[0-9]

    +2

    * 「莫非抓住問號和下一個號碼的工作之間的所有文字?正則表達式」 *取決於內容。如果你確信你的答案將不包含任何數字,那麼它將無法處理其他工作 –

    +0

    @anonymous 1甚至沒有想到的是,有可能會出現數字插圖中。怎麼樣只是檢查是否有任何文本問題之間呢?到如果該人已根據您粘貼內容回答 –

    +0

    的指標,它看起來像你所有的問題與選項卡即開始'\ t'。兩個標籤之間的內容將文字回答你的問題。所以,你的答案會後'一切嗎?'。儘管答案也可能有'?',但將是 –

    回答

    2

    如果你知道這個問題將永遠是像(或類似)目前的格式,你已經證明,然後使用下面的模式可能工作,

    ^.+\?$|(.*) 
    

    模式發現所有的問題,然後抓住一切成了一團。它可能需要一些調整,以得到它捕捉到你想要什麼,但是這可能是一個很好的起點。

    import re 
    
    regex = r"^.+\?$|(.*)" 
    
    result = re.findall(regex, test_str, re.MULTILINE) 
    
    if result: 
        for match in result: 
         print(match) 
    

    例如

    https://regex101.com/r/bweMiZ/2

    相關問題