工作我有類似這樣perl的非貪婪替換未在開始
<Level1Node>
.
.
<Level2Node val="Retain"/>
.
.
</Level1Node>
<Level1Node>
.
.
<Level2Node val="Replace"/>
.
.
</Level1Node>
<Level1Node>
.
.
<Level2Node val="Retain"/>
.
.
</Level1Node>
我需要刪除只有以下節點的XML,
<Level1Node>
.
.
<Level2Node val="Replace"/>
.
.
</Level1Node>
有它非取代-greedy方式中,我使用的正則表達式下面,
perl -0 -pe "s|<Level1Node>.*?<Level2Node val="Retain"/>.*?</Level1Node>||gs" myxmlfile
但非geedy僅在圖案的端部終止匹配,而不是在開始。如何獲得它開始在<Level1Node>
請發表您的實際意見。在你的正則表達式中,你在正則表達式中提到了' qpulse-hl7-par '但是在你的輸入中沒有'qpulse-hl7-par'和'level2node'屬性,那麼'level2node'是自己關閉的,但是你提到了作爲''在你的正則表達式中。 –
mkHun
@mkHun正確更新了正則表達式。 – Kannan