我使用JavaScript正則表達式/(<mos>[\s\S]*?<\/mos>)/g
找到看起來大致是這樣的一個日誌文件,XML塊:正則表達式找到最小可能的匹配
Entry 1: <mos>...</mos>
Entry 2: <mos>...</mos>
然而,有時記錄過程中遇到錯誤和沒有寫完一個條目的文件,在這種情況下,它看起來像這樣:
Entry 1: <mos>Error!
Entry 2: <mos>...</mos>
當這種情況發生的正則表達式從開<mos>
標籤第1項相匹配的一切收盤</mos>
條目2中的標記,稍後處理XML時會導致問題。
看來,不知何故首先匹配閉合標籤,然後回顧他們相應的開放標籤將避免這種情況,但我不知道如何做到這一點,或者如果可能與正則表達式。
澄清:在由開始和結束標籤界定可包括換行塊的...
。
爲什麼要在'[\ s \ S] *'上匹配'什麼時候你想要的是'一切到'<或'\ n'「? – 2014-09-29 14:59:00
「您無法使用正則表達式解析[X] HTML ......」或XML:http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-標籤/ 1732454#1732454 – 2014-09-29 15:01:11
@ Mike'Pomax'Kamermans條目中的'...'可以跨越多行。我已經更新了我的問題以包含該問題。 – Alex 2014-09-29 15:39:37