PHPのpreg_match_all()のように、JavaScriptで複数の出現箇所を正規表現と一致させるにはどうすればよいですか?
&またはで区切られたキー=値のペアで構成されるURLエンコードされた文字列を解析しようとしています&。 以下は、最初の出現にのみ一致し、キーと値を別々の結果要素に分解します。 var result = mystring.match(/(?:&|&)?([^=]+)=([^&]+)/) 文字列「1111342 = Adam%20Franco&348572 = Bob%20Jones」の結果は次のようになります。 ['1111342', 'Adam%20Franco'] グローバルフラグ 'g'を使用すると、すべての出現に一致しますが、完全に一致した部分文字列のみが返され、分離されたキーと値は返されません。 var result = mystring.match(/(?:&|&)?([^=]+)=([^&]+)/g) 文字列「1111342 = Adam%20Franco&348572 = Bob%20Jones」の結果は次のようになります。 ['1111342=Adam%20Franco', '&348572=Bob%20Jones'] 文字列を分割し&て各キー/値ペアを個別に分割することもできますが、JavaScriptの正規表現サポートを使用し/(?:&|&)?([^=]+)=([^&]+)/て、PHPのpreg_match_all()関数と同様に、パターンの複数の出現に一致する方法はありますか? 私は次のようにサブマッチを分けて結果を得るいくつかの方法を目指しています: [['1111342', '348572'], ['Adam%20Franco', 'Bob%20Jones']] または [['1111342', 'Adam%20Franco'], ['348572', 'Bob%20Jones']]