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

js正则函数match、exec、test、search、replace、split使用介绍集合

?

js正则函数match、exec、test、search、replace、split使用介绍集合,学习正则表达式的朋友可以参考下

1、match 方法:使用正则表达式模式对字符串执行查找,并将包含查找的结果作为数组返回。

?

stringObj.match(rgExp) 

function auth(){

    var s = "The rain in Spain falls mainly in the plain";

    re = /(a)in/ig;          // 创建正则表达式模式。

     r = s.match(re); // 尝试去匹配搜索字符串

     document.write(r);

     

}
输出结果:ain,ain,ain,ain 

2、exec 方法 : 用正则表达式模式在字符串中查找,并返回该查找结果的第一个值(数组),如果匹配失败,返回null。

rgExp.exec(str)


返回数组包含: 


input:整个被查找的字符串的值; 


index:匹配结果所在的位置(位); 


lastInput:下一次匹配结果的位置; 


arr:结果值,arr[0]全匹配结果,arr[1,2...]为表达式内()的子匹配,由左至右为1,2...。

 例:



function Test(){ 


var src="http://sumsung753.blog.163.com/blog/I love you!"; 


var re = /\w+/g;    // 注意g将全文匹配,不加将永远只返回第一个匹配。 


var arr; 


while((arr = re.exec(src)) !=null){ //exec使arr返回匹配的第一个,while循环一次将使re在g作用寻找下一个匹配。 


document.write(arr.index + "-" + arr.lastIndex + ":" + arr + "<br/>"); 


for(key in arr){ 


document.write(key + "=>" + arr[key] + "<br/>"); 


} 


document.write("<br/>"); 


} 


} 


window.onload = RegExpTest(); 


 返回结果:


0-1:I //0为index,i所在位置,1为下一个匹配所在位置 


input=>I love you! 


index=>0 


lastIndex=>1 


0=>I 


2-6:love 


input=>I love you! 


index=>2 


lastIndex=>6 


0=>love 


7-10:you 


input=>I love you! 


index=>7 


lastIndex=>10 


0=>you

?

3、test 方法: 检查字符串是否与给出的正则表达式模式相匹配,如果是则返回 true,否则就返回 false ?

?

注意:test()继承正则表达式的lastIndex属性,表达式在匹配全局标志g的时候须注意。?
例子5:?