正則表達式中的變長lookbehind斷言
正則表達式提供了強大的模式匹配能力,但是變長lookbehind的斷言實現長期以來一直是爭論的話題。
Lookbehind 斷言的實作
目前,Python 中的 regex 模組支援可變長度 Lookbehind 斷言。語法為 (?
不帶後向斷言的替代方案
在沒有lookbehind斷言的情況下,有兩種選擇:
K(保留):此符號標記模式中的一個點,在該點之前在替換或分組之前,任何匹配的字元都會被丟棄。
變成:
負向前瞻: 此技術使用負數向前檢查是否缺少「foo」。
變成:
未來實作
Perl 和JavaScript 等主流語言中缺乏可交易變長度後向斷言,這引發了對未來實現的疑問。有一天這些語言可能會採用類似 Python 正規表示式的增強正規表示式模組。
替代方案的限制
其他問題
以上是可變長度回顧斷言:正規表示式的未來?的詳細內容。更多資訊請關注PHP中文網其他相關文章!