js正则表达式

1.exec

exec 查找并返回当前的匹配结果,并以数组的形式返回。

 var str1="2003-11-01 ";
 var reg=new RegExp("\\d{4}-\\d{2}-\\d{2}", "gi"); 
alert(reg.exec(str1)); // --> "2003-11-01"

 

未匹配到,返回null

匹配到,总是返回1维数组。返回值是一个对象,为当前匹配项,多个匹配时返回第一个匹配项

注意匹配项 g 参数,若指定了 g,则下次调用 exec 时,会从上个匹配的 lastIndex 开始查找。在反复执行时,返回下一个匹配项。

var str = "1a1b1c";  
var reg = new RegExp("1.", "g");  
alert(reg.exec(str)[0]);  // --> ["1a"]
alert(reg.exec(str)[0]);  // --> ["1b"]

 

此例子第一次返回 “1a”,第二次返回“1b”。

如果取消g 参数,两次均返回“1a”

 

2.match

match 是 String 对象的一个方法。

 

var str = "1a1b1c";  
var reg = new RegExp("1.", ""); 
alert(str.match(reg));   //  -->  ["1a"]
str.match("/1./g")  // --> ["1a", "1b", "1c"]

 

注意与exec方法调用区别:match是string对象方法,exec是RegExp对象方法。

如果有g参数的话,返回的是所有匹配的数组。如上例中返回的是[1a,1b,1c]的数组。

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。