关于正则表达式
(?!(\n(?:[^ ' "\n]*( ".*? ".*?¦))*))((?:rem\s¦ ')[^\n]*)   
  ".*? ".*?¦最后的|起什么作用?不像表示“或”?
------解决方案--------------------哪里有“|” 
 JS与C#的正则引擎是不一样的
------解决方案--------------------楼主想验证什么样的,举几个例子看看..
------解决方案--------------------找到了,原来是被转义成“¦”,楼主的正则是用在哪的
------解决方案-------------------- ".*? ".*?|; 
 这里的“|”仍然是表示“或”的关系,指 ".*? ".*?和;任选其一   
 | 左右两边表达式之间  "或 " 关系,匹配左边或者右边,在正则里就是这个作用,这个是基础的正则语法规则,在各种正则引擎里是一样的   
------解决方案--------------------javascript的改了下 这样应该可以了     
  <script language= "javascript ">  
 function window.onload() 
 { 
 	var re = / <%([\s\S]*?)%> /g; 
 	var re1 = /(?:(?:^|\n)(?:[^ "\n]*(?:.* ".* ".*))*)((?:rem\s| ')[^\n]*)/g; 
 	var tempstr =  " <% 'laksdjflkasjdflksadjf%> \n <%rem askjdhfaskjdhfksajdf%>  <%a=\ "asdfasdf 'fasdfas\ "  '1234567%>  "; 
 	var temparr = new Array(); 
 	var returnStr =  " "; 
 	while(re.exec(tempstr)!=null) 
 	{ 
 		temparr.push(RegExp.$1); 
 	} 
 	for(var i=0;i <temparr.length;i++) 
 	{ 
 		while(re1.exec(temparr[i])!=null) 
 		{ 
 			var searchstr = temparr[i]; 
 			searchstr = searchstr.replace(RegExp.$1, " <span style= 'color:#bbbbbb '>  " + RegExp.$1 +  " </span>  ") +  " <br>  "; 
 		} 
 		returnStr += searchstr; 
 	} 
 	document.body.innerHTML += returnStr; 
 } 
  </script>