1

次の形式の 1 つ以上のプレースホルダーを含む文字列があります: $( [name] )

[ name]は任意の単語 (英数字を含む) で、大文字と小文字が区別されます。

 Example1: 'The $(Quick) Brown fox jumps over the lazy dog'
 Example2: '$(the) $(Quick) Brown fox jumps over $(the) lazy dog'
 Example3: '$(the) $(Quick) Brown $(fox) jumps over $(the) lazy $(dog)'

次の結果が得られるように、JavaScriptですべてのプレースホルダーを取得するための最良の方法は何ですか:

 Example1: ['Quick']
 Example2: ['the', 'Quick', 'the']
 Example3: ['the', 'Quick', 'fox', 'the', 'dog']

プレースホルダーの一意のリストも取得する必要があるため、次のようになります。

 Example1: ['Quick']
 Example2: ['the', 'Quick']
 Example3: ['the', 'Quick', 'fox', 'dog']

ありがとうございました。

4

3 に答える 3

2

他の回答が述べているように、最善の方法は、JavaScriptstring.match()関数で正規表現を使用することです。私の正規表現は最高ではありません、これでうまくいくはずです:

jsFiddle デモ

function getPlaceholders(str)
{
    var regex = /\$\((\w+)\)/g;
    var result = [];

    while (match = regex.exec(str))
    {
        result.push(match[1]);    
    }

    return result;
}

ありがとうフリーク </p>

于 2012-06-27T08:57:50.373 に答える
0

文字列の一致関数で正規表現を 使用する

于 2012-06-27T08:50:22.207 に答える
0

これを読む

http://net.tutsplus.com/tutorials/php/advanced-regular-expression-tips-and-techniques/

http://swtch.com/~rsc/regexp/regexp1.html

あなたはでもっと見ることができますBookmark

于 2012-06-27T08:51:11.450 に答える