JavaScript での否定後読みの代替正規表現
JavaScript では、否定後後読みアサーションは直接サポートされていません。ただし、同様の機能を実現する方法はあります。
次の正規表現を考えてみましょう:
(?<filename)\.js$
この正規表現は、filename.js を除き、.js で終わる文字列と一致します。後読みをサポートする正規表現の実装では、この式は意図したとおりに機能します。
負の先読みを使用する代替方法
JavaScript には後読みがないため、代わりに負の先読みを使用できます。
^(?:(?!filename\.js$).)*\.js$
この式は、文字列の各文字を明示的にチェックして、否定的な後読みアサーション (?!filename.js$) と残りの正規表現は一致しないということです。一致しない場合は、文字の一致が許可されます。
簡易バージョン
ECMAScript 2018 より前の JavaScript バージョンの場合、次の簡易バージョンを使用できます。
^(?!.*filename\.js$).*\.js$
この式は、文字列に filename.js がどこにも含まれていないことを主張し、 .js で終わります。
以上がJavaScript で Negative Lookbehind 機能を実現するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。