<html> <body> </body> </html> <script> var strSrc = "xxa1b01c001yya2b02c002zz"; var regex = /a(\d)b(\d{2})c(\d{3})/gi; var arr,count=0; while((arr=regex.exec(strSrc)) != null){ display(); } function display(){ document.write("<p>这是正则表达式regex.source=/"+regex.source+"/gi对字符串RegExp.input=<br/>\""+RegExp.input+"\"进行第"+(++count)+"次搜索的结果:<br/>"); document.write("RegExp.index为"+RegExp.index+"<br/>"); document.write("RegExp.lastIndex为"+RegExp.lastIndex+"<br/>"); document.write("RegExp.lastMatch为"+RegExp.lastMatch+"<br/>"); document.write("RegExp.lastParen为"+RegExp.lastParen+"<br/>"); document.write("RegExp.leftContext为"+RegExp.leftContext+"<br/>"); document.write("RegExp.$1为"+RegExp.$1+"<br/>"); document.write("RegExp.$2为"+RegExp.$2+"<br/>"); document.write("RegExp.$3为"+RegExp.$3+"<br/>"); document.write("RegExp.$4为"+RegExp.$4+"<br/>"); document.write("arr.input为"+arr.input+"<br/>"); document.write("返回数组的元素个数arr.length为"+arr.length+"<br/>"); document.write("返回的数组内容为【"); for(var i=0; i<arr.length; i++){ if(i < arr.length-1) document.write("\""+arr[i]+"\","); else document.write("\""+arr[i]+"\"】"); } } </script>
得到结果如下:
这是正则表达式regex.source=/a(\d)b(\d{2})c(\d{3})/gi对字符串RegExp.input=
"xxa1b01c001yya2b02c002zz"进行第1次搜索的结果:
RegExp.index为2
RegExp.lastIndex为11
RegExp.lastMatch为a1b01c001
RegExp.lastParen为001
RegExp.leftContext为xx
RegExp.$1为1
RegExp.$2为01
RegExp.$3为001
RegExp.$4为
arr.input为xxa1b01c001yya2b02c002zz
返回数组的元素个数arr.length为4
返回的数组内容为【"a1b01c001","1","01","001"】
这是正则表达式regex.source=/a(\d)b(\d{2})c(\d{3})/gi对字符串RegExp.input=
"xxa1b01c001yya2b02c002zz"进行第2次搜索的结果:
RegExp.index为13
RegExp.lastIndex为22
RegExp.lastMatch为a2b02c002
RegExp.lastParen为002
RegExp.leftContext为xxa1b01c001yy
RegExp.$1为2
RegExp.$2为02
RegExp.$3为002
RegExp.$4为
arr.input为xxa1b01c001yya2b02c002zz
返回数组的元素个数arr.length为4
返回的数组内容为【"a2b02c002","2","02","002"】