日期:2014-05-16  浏览次数:20411 次

JS正则表达式(2)--exec()方法的使用
var myPC ="Ykf 890";
var t = /^[a-z]+\s+\d+$/i; //+号表示字符至少要出现1次,\s表示空白字符,\d表示一个数字,$表示以数字结尾
//alert(t.test(myPC)); //返回true

//另一个方法exec,返回一个数组,数组的第一个元素为完整的匹配内容 
t=/^[a-z]+\s+\d+$/i;
var arr=t.exec(myPC);
//alert(arr[0]); //将myPC完整输出,因为整个字符串刚好匹配t

t=/\d+/;  //只需要取出数字
arr = t.exec(myPC);
alert(arr[0]);  //返回890

var match =/^[a-z]+\s+(\d+)\s+([a-z]+)\d+$/i; //用()来创建子匹配
var str ="yKFyangjing     29128      rty2356";
var arr = match.exec(str);
//alert(arr[0]); //整个str,也就是正则表达式的完整匹配
//alert(arr[1]); //返回29128,第一个子匹配
//alert(arr[2]); //返回rty,第二个子匹配
//alert(arr.length);//返回3,这个arr数组的长度为3,有()括起来的就分为一个长度,总长度为一个长度

str="RTc0010.xcl.345";
match=/^[a-z]+(\d+)(\.)[a-z]+(\.)(\d+)$/i;  //.是正则表达式元字符之一,若要用它的字面意义须用\转义
arr = match.exec(str);
alert(arr[0]);
alert(arr[1]);
alert(arr[2]);
alert(arr[3]);
alert(arr[4]);
alert(arr.length);