js的正则test,match,exec详细解析

  正则表达式gi

  我刚开始也看不懂,从网上找到后看到了,现在分享给大家

  正在表达式的通项: /pattern/flags 即(/模式/标记 )

  构造器函数方法使用方法如下:

  new RegExp("pattern"[, "flags"])即new RegExp("模式"[,"标记"])

  参数:

  pattern(模式)

  表示正则表达式的文本

  flags(标记)

  如果指定此项,flags可以是下面值之一:

  g: global match(全定匹配)

  i: ignore case(忽略大小写)

  gi: both global match and ignore case(匹配所有可能的值,也忽略大小写)

  表达式建立同样的正则表达式例如:

  /ab+c/gi

  正则表达式中/i,/g,/ig,/gi,/m的区别和含义

  /i (忽略大小写)

  /g (全文查找出现的所有匹配字符)

  /m (多行查找)

  /gi(全文查找、忽略大小写)

  /ig(全文查找、忽略大小写)

  test,match,exec

  JavaScript中经常用到正则表达式, 而正则表达式中经常用到Match和Test这两个函数,当然还有Exec. 这里以代码实例来区分它们之间的不同吧.

  Match Example

  

复制代码 代码如下:

  var str = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";

  var regexp = /[A-E]/gi;

  var rs = str.match(regexp);

  //rs= Array('A', 'B', 'C', 'D', 'E', 'a', 'b', 'c', 'd', 'e');

  Test Example

  

复制代码 代码如下:

  var str = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";

  var regexp = /[A-E]/gi;

  var rs = regexp.test(str);

  // rs = true; boolean

  Exc Example

  

复制代码 代码如下:

  var str = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";

  var regexp = /[A-E]/gi;

  var rs;

  while ((rs = regexp.exec(str)) != null)

  {

  document.write(rs);

  document.write(regexp.lastIndex);

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

  }