2

照合するサンプル文字列のリストを次に示します。

  • これらは一致する必要があります。

    hello.js
    test.hello.js
    test.js.js
    test.js.hello.js
    test.js.test.js.test.js.dss.js
    test.js.dss.js
    test.js.js.js.js.dummy.js
    
  • これらは一致するべきではありません:

    fun.css
    test.js
    fun.test.js
    test.test.js
    test.js.test.js
    hell.cs
    test.test.js
    
4

2 に答える 2

3

簡単なオプションは、否定先読みを使用して、行が で終わっていないことを確認すること.test.jsです。

^(?!.*\.test\.js$).*\.js$

これtest.jsは特殊なケースですが、それを^(?!(?:^|.*\.)test\.js$).*\.js$回避するために使用できます(または他の同様のオプション)。

作業例: http://www.rubular.com/r/UVvRZMcnjl

フレーバーが後読みをサポートしている場合 (JavaScript と古い Ruby はサポートしていませんが、Ruby 1.9.2 はサポートしています)、次を使用できます。

^.*(?<!^test|\.test)\.js$

作業例: http://www.rubular.com/r/lBCphNYEES

于 2012-05-25T15:56:03.753 に答える
2

質問タグがから​​ に変更されたため、単純な後読みを使用します。

.*(?<!test).js$

ここで実際に見てください:http://rubular.com/r/yVH2xfsRqw

于 2012-05-25T15:45:57.550 に答える