Все работает нормально.(на то оно и regexp)
Не работать могло из-за того, что в примере из этой темы после запятой нет пробела. Браузер пробел ставит, потому всё гуд. Если нужно парсиь ещё и неформатированные строки, то тут уж разрастется regexp естесно, но это уже не моё дело.
prop="url(clock.png), -moz-linear-gradient(bottom, #F7E82C 49%, #FFFF47 75%, #FFFF64 88%)"
alert(prop.match(/[^, ].+?(?=, url|, -moz-linear-gradient|$)/g).join('\n\n'))
Да и вообще в хроме всё также отлично работет:
<div id="block" style="
width:800px;height:132px;
background-image:url(http://javascript.ru/forum/images/smilies/sad.gif),
-webkit-gradient(linear,center bottom,center top, color-stop(49%, #F7E82C), color-stop(75%, #FFFF47), color-stop(88%, #FFFF64));
background-image:url(http://javascript.ru/forum/images/smilies/sad.gif),
-moz-linear-gradient(bottom, #F7E82C 49%, #FFFF47 75%, #FFFF64 88%);
"></div>
<script>
function st(prop){
return typeof prop == 'string' ? prop.match(/[^, ].+?(?=, url|, linear-gradient|, -moz-linear-gradient|, -webkit-gradient|$)/g) : prop.join(', ');
}
a=document.getElementById("block").style;
alert(st(a.backgroundImage).join('\n\n'))
</script>
Запарил мозги бедному человеку.