Regex javascript正则表达式窗口参数

Regex javascript正则表达式窗口参数,regex,Regex,需要正则表达式的帮助吗 var s = "left=123,top=345,width=123, height= 34, center=yes, help=no,resizable=yes, status=now"; 需要获取所有参数(名称->值) 以这种方式尝试/(\w+)\s?=(\s+[\s |,]/ 结果: array(3) { [0] => array(3) { [0] => string(28) "left=123,top=345,width=1

需要正则表达式的帮助吗

var s = "left=123,top=345,width=123, height= 34, center=yes, help=no,resizable=yes, status=now";
需要获取所有参数(名称->值)

以这种方式尝试
/(\w+)\s?=(\s+[\s |,]/

结果:

array(3) {
  [0] =>
  array(3) {
    [0] =>
    string(28) "left=123,top=345,width=123, "
    [1] =>
    string(12) "center=yes, "
    [2] =>
    string(23) "help=no,resizable=yes, "
  }
  [1] =>
  array(3) {
    [0] =>
    string(4) "left"
    [1] =>
    string(6) "center"
    [2] =>
    string(4) "help"
  }
  [2] =>
  array(3) {
    [0] =>
    string(22) "123,top=345,width=123,"
    [1] =>
    string(4) "yes,"
    [2] =>
    string(17) "no,resizable=yes,"
  }
}
试试这个:

/(\w+)\s*=\s*([^,\s]*)/
([\w\d]+)\s*=\s*([\w\d]+)
试试这个:

/(\w+)\s*=\s*([^,\s]*)/
([\w\d]+)\s*=\s*([\w\d]+)
我假设参数和值可能只包含字母和数字。您可以通过以下方式选择更为宽容:

([^=\s,]+)\s*=\s*([^=\s,]+)

我试着用分割法,但不知道是否好。欢迎评论

var s = "left=123,top=345,width=123, height= 34, center=yes, help=no,resizable=yes, status=now";
var params = s.replace(/\s*,\s*/g,',').replace(/\s*=\s*/g,'=').split(',');

var arg_array = {};

for(var n = 0, len=params.length; n < len; n++) {
    var arg = params[n].split("=");
    arg_array[arg[0]] = arg[1];
}
(\S+)
匹配的字符可能太多。尝试非reedy版本
(\S+?)
请参阅