-1

.search JSメソッドは、変数ではなく文字列リテラルを必要としているようです…

for (app in Servers)
{
    the_name = Servers [app]["Name"];
    the_app = Servers [app]["App Name"];
    search_str = "/"+Name+"/";
    hit = the_app.search(search_str);
    if (the_name == Name || the_app == "Foo Bar" )
    {
        result.Index = app;  
    }
}

共通の単語を持つ一連のアプリのヒットを生成したい。たとえば、Name = "Skittles"は、app_name =="Skittles1.0";のアプリにヒットします。"スキットルズ1.5"; "スキットルズ3.2—デラックスエディション3.2"; などなど

Nameはユーザー定義可能な変数です。サーバーは、自分のマシンで実行することからストリーミングできるビデオサーバーを一覧表示する、私が利用できるオブジェクトです。サーバーの各アイテムはサーバーに対応し、そのオブジェクトに「名前」アイテムと「アプリ名」アイテムが含まれます。(これはHTML / WebコンテキストではないSiphonのことです)。

別の方法を使用して正規表現を作成することを検討する必要がありますか?

4

2 に答える 2

1

「RegExp」関数を使用してパターンを作成します。こちらをご覧ください

次のようなパターン変数を作成するだけです。

var pattern = new RegExp( --pattern-- , --modifiers--);

乾杯

于 2012-08-14T07:51:56.823 に答える
1

なぜ正規表現なのか?を使用します。これは、文字列indexOfの場合に相当します。search

更新:次に、を使用new RegExp(Name)して文字列を正規表現に変換します。

更新:質問を更新したので、indexOf「Skittles」を使用すると、すべての質問で引き続き機能しますapp_name

for (app in Servers)
{
    the_name = Servers [app]["Name"];
    the_app = Servers [app]["App Name"];

    rx = new RegExp(Name);
    hit = the_app.search(rx);

    if (the_name == Name || the_app == "Foo Bar" )
    {
        result.Index = app;  
    }
}
于 2012-08-14T07:38:47.683 に答える