快速记忆JavaScript中exec和match的使用

JS模式匹配中exec,match用得非常多,所以掌握其用法对我们进行字符串的处理帮助非常大

1.exec的定义其用法

       exec与match主要的不同是,exec是正则表达式里面的方法.所以用的时候一定不要用字符串来调用。

       看下面这段代码,输出多少呢?

var str= "hello world" ;
var p=/(\w){5}/g;
console.log(p.exec(str))           //["hello", "o", index: 0, input: "hello world"]

var str= "hello world" ;
var p=/(\w){4}(\w)/g;              // ["hello", "l", "o", index: 0, input: "hello world"]
console.log(p.exec(str))

     exec匹配的第一个元素是符合匹配条件的第一个字符串,后面的元素是分组的元素!

     前面一段代码分组只有一个(\w)所以后面输出了一个"o"

     后面一段代码分组有二个(\w)(\w)所以后面输出了一个"l"  "o"

     正则表达式中有没有g对exec没有任何影响,它的返回值固定是这个格式

2.match的定义其用法

     match有一点特殊,正则表达式要区分有没有g的条件

      1.在有g的条件下    

var str= "hello world" ;
var p=/\w{5}/g;
console.log(str.match(p))          //["hello", "world"]         

 

  所有符合条件的会放入到一个数组里面去

      2.在没有g的条件下 

 

 

       返回的值跟exec一致

 

结: 我们记的时候,就只记二个就行了,exec返回的值和有G的时候的match返回的值 

posted @ 2016-11-07 14:54  雷霆崖带头哥  阅读(190)  评论(0编辑  收藏  举报