正規表示式中的可變長度後向斷言
正規表示式是強大的模式比對工具,但在涉及變數時它們可能受到限制-length 後向斷言。後行斷言允許您根據匹配之前的條件來匹配字串。然而,傳統的正規表示式只支援固定長度的lookbehind斷言。
可變長度lookbehind斷言的替代品
如果需要執行可變長度lookbehind斷言,有有幾種替代方案:
以 \K 取代
取代符合項目時,可以使用 \K 從替換中排除特定字元。例如,以下內容將僅替換字串的「bar」部分:
s/(foo.*)\Kbar/new_text/
Negative Lookbehinds with \K
可以使用^(?:(?!STRING).)* 建構來實現負向後查找。這有效地匹配整個字串,而不匹配包含指定字串的任何子字串。
增強的正則表達式實現
某些語言具有支持可變長度的增強的正則表達式實現後向斷言:
但是,值得注意的是,並非所有現代正規表示式實作都支援可變長度後向斷言。始終建議您查閱特定語言和實作的文件。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3