0

我想使用带有正则表达式的 javascript 将字符拆分为数组

foo=foobar=&foobar1=foobar2=

进入

富,富吧 =,富吧 1,富吧 2 =

抱歉不清楚,让我重新描述一下场景。首先我会用“&”分割它,然后想稍后处理它。

str=foo=foobar=&foobar1=foobar2=
var inputvars=str.split("&")
for(i=0;i<inputvars.length;i++){
   var param = inputvars[i].split("=");
   console.log(param);
}

返回

[foo,foobar]
[]
[foobar1=foobar2]
[]

我尝试使用 .split("=") 但 foobar= 被拆分为 foobar。

我本质上希望它是

[foo,foobar=]
[foobar1,foobar2=]

使用 javascript 仅拆分第一次出现的 = 有什么帮助吗?

4

2 回答 2

1
/^([^=]*)=(.*)/.exec('foo=foobar=&foobar1=foobar2=')

或更简单的编写但使用较新的“惰性”运算符:

/(.*?)=(.*)/.exec('foo=foobar=&foobar1=foobar2=')
于 2012-07-10T01:32:45.097 回答
1

从malvolio,我得出以下结论

var str = 'foo=foobar=&foobar1=foobar2=';
var inputvars = str.split("&");
var pattern =  /^([^=]*)=(.*)/;
for (counter=0; counter<inputvars.length; counter++){

     var param = pattern.exec(inputvars[counter]);         
    console.log(param)
}

和结果(这是我的意图)

[foo,foobar=]
[foobar1,foobar2=]

感谢@malvolio 提示正则表达式干杯

于 2012-07-10T02:54:37.650 回答