rem: p=p.replace(/(\s)([^<]+)$/g, function(s,p1,p2) { p2=p2.replace(/(=)(\s*[^"'][^\s]*)(\s|$)/g,'$1<span class=attribute-value>$2</span>$3'); 
add: p=p.replace(/(\s)([^<]+)$/g, function(s,p1,p2) { p2=p2.replace(/(=)(\s*[^"'][^\s]*)(\s|$)/g,'$1<span class=attribute-value>$2</span>$3'); 
context:               function(s,p)              {                if(s.match(/!doctype/i))                  return'<span class=doctype>&lt;' + p + '&gt;</span>';                p=p.replace(/\\'/g,'\\&#39;').replace(/\\"/g,'\\&#34;').replace(/^\s/,'');                p=p.replace(/(\s)([^<]+)$/g,                            function(s,p1,p2)                            {                              p2=p2.replace(/(=)(\s*[^"'][^\s]*)(\s|$)/g,'$1<span class=attribute-value>$2</span>$3');                              p2=p2.replace(/("[^"]*")/g,'<span class=attribute-value>$1</span>');                              p2=p2.replace(/('[^']*')/g,'<span class=attribute-value>$1</span>');                              return p1 + '<span class=attribute-name>'+p2+'</span>';                            }                           )                return'&lt;<span class=' + (s.match(/<\s*\//)?'end-tag':'start-tag') + '>' + p + '</span>&gt;';              }
meta: 9421	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/9421/e0e327827f663f9352c9533aaa13268e295862ea/regress-209067.js/clean/js/tests/ecma_3/RegExp/regress-209067.js