JavaScript 中負向後查找的替代正規表示式
在 JavaScript 中,不直接支援負向後查找斷言。但是,有一些方法可以實現類似的功能。
考慮以下正規表示式:
(?此正規表示式符合以 .js 結尾的字串除了 filename.js。在支援後向查找的正規表示式實作中,此表達式將按預期工作。
使用負向先行的替代方法
由於JavaScript 沒有後向查找,我們可以使用負向先行代替:
^(?:(?!filename\.js$).)*\.js$此表達式明確檢查字串的每個字符,以確保否定後向斷言(? !filename\.js$) 加上剩餘的正規表示式將不符。如果不匹配,則允許字元匹配。
簡化版本
對於ECMAScript 2018 之前的JavaScript 版本,可以使用以下簡化版本:
^(?!.*filename\.js$).*\.js$此表達式斷言字串不包含filename.js 並以.js 結尾。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3