什麼是一個正則表達式(PHP)替換/刪除(使用preg_replace()
)結束在哪裏它未被一個未完成的START?什麼是替換/刪除END的正則表達式,前面沒有未完成的START?
這裏有幾個例子來描繪我的意思更好:
例1:
輸入:
sometext....END
輸出:
sometext.... //because theres no START, therefore no need for the excess END
實施例2:
輸入:
STARTsometext....END
輸出:
STARTsometext....END //because its preceded by a START
實施例3:
輸入:
STARTsometext....END.......END
輸出:
STARTsometext....END....... //because the END is not preceded by a START
希望有人能幫忙嗎?
謝謝。
如果你想要一個解析器,你需要編寫一個解析器。 – 2010-12-08 00:24:17
一旦你需要識別嵌套分隔符(parens,括號,開始/結束等)的級別,你應該考慮使用解析庫,甚至是自己的簡單下推自動機,而不是常規表達。即使您的平臺的正則表達式庫支持使其成爲可能的擴展,解決方案可能會很脆弱並且難以維護。 – 2010-12-08 00:32:58