1 <!DOCTYPE> 2 <html> 3 <head> 4 </head> 5 <body> 6 <script type="text/javascript"> 7 function test(s){ 8 var pattern=/&([^&;]+);/g; 9 s.replace(pattern,function(a,b,c,d,e){ 10 alert(a); 11 alert(b); 12 alert(c); 13 alert(d); 14 alert(e); 15 }); 16 } 17 var str="<">"; 18 test(str); 19 </script> 20 </body> 21 </html>
测试环境:版本 40.0.2214.115 m
测试结果:
关于正则表达式中的"捕获组",指的是正则表达式通过()将匹配模式分成几组,可通过RegExp.$1获取第一个捕获组,RegExp.$2获取第二个捕获组,如:
1 <!DOCTYPE> 2 <html> 3 <head> 4 </head> 5 <body> 6 <script type="text/javascript"> 7 var text="111-22-3333"; 8 var pattern=/(\d{2,})-(\d{2,})-(\d{2,})/g; 9 if(pattern.test(text)){ 10 alert(RegExp.$1); 11 alert(RegExp.$2); 12 alert(RegExp.$3); 13 } 14 </script> 15 </body> 16 </html>
输出"111","22","3333"
JavaScript——关于字符串的replace函数中的function函数的参数
原文:http://www.cnblogs.com/cqq626/p/4352018.html