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+?)
请参阅