求俩正则表达式 获得名/值

font-family:"宋体", arial;margin:0 auto; padding:0; font-size:12px; background:#D1E4E8 url(../images/show/bg.gif) center repeat-y;

css的关键字和值

1.匹配关键字,如:font-family

2.匹配值, 如:"宋体", arial

[b]问题补充:[/b]
在我的应用中需要用正则,要是能用拆分就不问了

我用/(?=:)[^;]+/

匹配的值老带着冒号

另外看看不同思路

笔误…… css 不能用换行分隔 ……

匹配值:(这里还有个小小的毛病,如果某个值是 url(http:...) 就截断了)
[code="javascript"]/[^:;]+(?=;)/[/code]

匹配键:
[code="javascript"]/[-\w]+(?=:)/[/code]

你得到这个style字符串,
用“;”拆分这个字符串
var array = str.split(';');

再对这个数组中的每一个字符串再拆分用":"

for(var i=0;i<array.length;i++)
{
var cssattr = array[i];

var cssAttrMap = cssattr.split(';');

var key = cssAttrMap[0];//这里就能得到关键字,如:font-family
var value = cssAttrMap[1];//这里就能得到值, 如:"宋体", arial

}

lz 环视的方向看错了 ……

匹配值用:
[code="javascript"]/([^:;]+)(?=[;\n])/[/code]

匹配键用:
[code="javascript"]/([-\w]+)(?=:)/[/code]

话说 split 也可以用正则表达式 ……
[code="javascript"]str.split(/;/).map(function(e){return e.split(/:/);})[/code]