0

次の文字列を指定すると、各キー/値を含む配列を作成したいと思います。

これは私のテスト文字列です:

key1:value1 key2: value2 key3:"value3" key4: "value4" key5:'value5' key6: 'value6'

期待される結果:

params[key1] == 'value1'
params[key2] == 'value2'
params[key3] == 'value3'
params[key4] == 'value4'
params[key5] == 'value5'
params[key6] == 'value6'

これは私がこれまでに持っているものですが、コロンの後の " または ' 引用符文字列またはスペースでは機能しません。

var re = /([^ ]*):([^ ]*)/g

while (match = re.exec(subject)) {
  params[match[1]] = match[2];
}
4

1 に答える 1

0

あなたは近くにいます。

 /([^ ]+):\s*(['"]?[^ '"]+['"]?)/g

それはそれを行う必要があります。これは検証を提供しないことに注意してkey1: value1"くださいkey1: 'value1"。検証には、より複雑なパターンが必要です。

于 2012-12-05T17:50:34.613 に答える