JS正则实例

时间:2021-11-01 04:00:50
<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"】

如果想系统的学习正则表达式,请移步我的 正则表达式从入门到高手 的视频课程:
http://edu.51cto.com/sd/59587