1. ホーム
  2. javascript

[解決済み] javascript regex - look behind alternative?

2022-04-28 14:23:10

質問

ここに、ほとんどの正規表現実装でうまく動作する正規表現があります。

(?<!filename)\.js$

.jsで終わる文字列のうち、filename.js以外の文字列の.jsにマッチします。

Javascriptには正規表現のルックビハインドがありません。どなたか、同じ結果を得ることができ、javascriptで動作する代替正規表現をまとめることができる方はいらっしゃいますか?

これはいくつかの考えですが、ヘルパー関数が必要です。正規表現だけで実現できればと思いました。 http://blog.stevenlevithan.com/archives/mimic-lookbehind-javascript

解決方法は?

^(?!filename).+\.js 動作確認済み

に対してテストしました。

  • test.jsに一致
  • blabla.jsにマッチします。
  • filename.js マッチしない

この正規表現についての正しい説明は、以下のサイトにあります。 単語を含まない文字列にマッチする正規表現?

Look aheadは、以下の通りです。 javascriptのバージョン1.5 すべての主要なブラウザでサポートされています。

更新情報 filename2.js と 2filename.js にマッチするが filename.js にはマッチしない。

(^(?!filename\.js$).).+\.js