如何在JavaScript中使用类似于PHP的preg_match_all()的正则表达式匹配多个匹配项?
我正在尝试解析由以key &或value分隔的key = value对组成的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']]