我有一些格式不正確的文本需要過濾。因此,有很多情況下,文本中的引用從一行開始,然後切斷並在第二行結束。在這種情況下,我的首選是完全刪除部分引號,但是,我想保留常規的全引號。我知道這可以用計數器迭代地完成,但我真的更喜歡用正則表達式來處理它。Python正則表達式僅匹配部分圓括號
,舉個例子:
"This is a quote" This is an end "partial- quote" Here is more text. This is an end "partial- quote w/o more text" This is an "embedded" quote
Here是我目前的嘗試(\"[^\"\n]+?|^[^\"\n]+?\")(\n|$)
注意一個例子,它在兩種情況下會失敗:
- 3號線 - 部分報價收益的剩餘部分句子(很少發生,所以如果我們不能解決它不是世界末日)。
- 第6行 - 一個嵌入式報價。這是一個主要問題,也是我在問題中採取的主要原因。它將嵌入式報價中的最後一個報價截至行末。
我想我可以設置一個if語句並運行每一行,檢查它是否少於兩個引號,然後繼續解析部分引號,但我認爲SO的頭腦會有很多清潔解決方案
注意所需的輸出是:
"This is a quote" This is an end Here is more text. This is an end This is an "embedded" quote
(我處理空格後面上)
也許你可以查看我提出的正則表達式嗎? – Jerry