首页 新闻 会员 周边 捐助

关于正则表达式 匹配之后的问题

0
[已关闭问题] 关闭于 2012-07-06 20:07

对于正则表达式有个特别怪的问题

代码如下:

 1 <html>
 2 <head>
 3 <script type="text/javascript">
 4 
 5 function message()
 6 {
 7     
8
document.getElementById("result").innerHTML = getHttpRegex(); 9 } 10 /** 11 * http,https正規表現文字列の取得 12 * 13 * @return 14 */ 15 function getHttpRegex() { 16 17 var str1 = "aa"; 18 var str2 = "1$&2"; 19 var result = String.format("%s%s??",str1,str2); 20 return result; 21 } 22 String.format = function() { 23 if (arguments.length == 0) 24 return null; 25 var str = arguments[0]; 26 var re = new RegExp("%s"); 27 for (var i = 1; i < arguments.length; i++) { 28 str = str.replace(re, arguments[i]); 29 } 30 return str.toString(); 31 } 32 </script> 33 </head> 34 35 <body> 36 <br/><br/> 37 <input type="button" value="display" onClick="message()"/> 38 <br/><br/><br/><br/> 39 <span id="result"></span> 40 </body> 41 </html>

直接用IE打开就OK

希望的结果应该是:

aa1¥&2??

但结果却是:

aa1%s2??

 

不知道为什么%s先被1¥&2替换掉之后,¥&又被替换成%s

有没有大神能解决的,小弟求教了

问题补充:

具体又测试了一下跟%s没有关系,应该是

$&这个符号的问题

二老虎的主页 二老虎 | 菜鸟二级 | 园豆:202
提问于:2012-07-06 18:48
< >
分享
所有回答(1)
0

需要注意 元字符和限定符 !

张坤 | 园豆:1865 (小虾三级) | 2012-07-10 12:52
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册