JavaScript 中負向後尋找的替代正規表示式
在 JavaScript 中,不直接支援負向後尋找斷言。但是,有一些方法可以實現類似的功能。
考慮以下正規表示式:
(?<filename)\.js$
此正規表示式符合以 .js 結尾的字串(filename.js 除外)。在支援後向查找的正規表示式實作中,此表達式將按預期工作。
使用負向先行的替代方法
由於JavaScript 沒有後向查找,我們可以使用負向先行代替:
^(?:(?!filename\.js$).)*\.js$
此表達式明確檢查字串的每個字符,以確保負數後向斷言(?!filename.js$) 加上剩餘的正則表達式將不匹配。如果不匹配,則允許字元匹配。
簡化版本
對於ECMAScript 2018 之前的JavaScript 版本,可以使用以下簡化版本:
^(?!.*filename\.js$).*\.js$
此表達式斷言包含filename.js 並以結尾.js.
以上是如何在 JavaScript 中實作 Negative Lookbehind 功能?的詳細內容。更多資訊請關注PHP中文網其他相關文章!