js正则表明式中test,exec详细深入分析

2019-09-11 23:21 来源:未知

正则表明式gi 自个儿刚开始也看不懂,从网上找到后看到了,未来分享给大家
正在表达式的通项: /pattern/flags 即(/模式/标记 )

js正则表明式中test,exec,match方法的区分表明

结构器函数办法运用办法如下: new RegExp("pattern"[, "flags"])即new RegExp("模式"[,"标记"])
参数: pattern(模式)
表示正则表达式的文书
flags(标记)
假定内定此项,flags能够是下边值之一:
g: global match(全定相称)
i: ignore case(忽略大小写)
gi: both global match and ignore case(相配全部望的值,也不经意大小写)
表达式建立平等的正则表明式譬喻:

test test 重临 Boolean,查找对应的字符串中是不是存在格局。
var str = "1a1b1c";
var reg = new RegExp("1.", "");
alert(reg.test(str)); // true

/ab+c/gi

exec exec 查找并赶回当前的特别结果,并以数组的花样再次来到。
var str = "1a1b1c";
var reg = new RegExp("1.", "");
var arr = reg.exec(str);
一旦空头支票形式,则 arr 为 null,否则 arr 总是一个长短为 1 的数组,其值就是眼前相配项。arr 还大概有多少个属性:index 当前匹配项的地方;lastIndex 当前合营项甘休的岗位(index + 当前般配项的长度);input 如上演示中 input 就是 str。

正则表明式中/i,/g,/ig,/gi,/m的界别和意义

exec 方法受参数 g 的震慑。若钦点了 g,则下一次调用 exec 时,会从上个相配的 lastIndex 开首查找。
var str = "1a1b1c";
var reg = new RegExp("1.", "");
alert(reg.exec(str)[0]);
alert(reg.exec(str)[0]);
上述八个出口都以 1a。未来再看看钦点参数 g:
var str = "1a1b1c";
var reg = new RegExp("1.", "g");
alert(reg.exec(str)[0]);
alert(reg.exec(str)[0]);
上述第三个出口 1a,第一个出口 1b。

/i (忽略大小写)
/g (全文字笔迹核实索出现的具有相配字符)
/m (多行查找)
/gi(全文字笔迹核实索、忽略大小写)
/ig(全文字笔迹核实索、忽略大小写)

match match 是 String 对象的七个艺术。
var str = "1a1b1c";
var reg = new RegExp("1.", "");
alert(str.match(reg));
match 那一个措施有一点点像 exec,但:exec 是 RegExp 对象的格局;math 是 String 对象的方法。二者还应该有一个分裂点,正是对参数 g 的批注。
假定钦赐了参数 g,那么 match 壹遍回到全部的结果。
var str = "1a1b1c";
var reg = new RegExp("1.", "g");
alert(str.match(reg));
//alert(str.match(reg)); // 此句同上句的结果是均等的
此结果为贰个数组,有七个因素,分别是:1a、1b、1c。

test,match,exec

JavaScript中有的时候用到正则表明式, 而正则表明式中平日用到Match和Test那个函数,当然还大概有Exec. 这里以代码实例来区分它们中间的不及吧.

JavaScript中时常用到正则表明式, 而正则表明式中平日用到Match和Test那七个函数,当然还应该有Exec. 这里以代码实例来区别它们中间的例外吧.

Match Example

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');

var str = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
var regexp = /[A-E]/gi;

Test Example

var rs = str.match(regexp);

复制代码 代码如下:

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

var str = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
var regexp = /[A-E]/gi;
var rs = regexp.test(str);
// rs = true; boolean

Test Example

Exc Example

复制代码 代码如下:

复制代码 代码如下:

var str = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
var regexp = /[A-E]/gi;

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 />");
}

var rs = regexp.test(str);

OUTPUT

A    1
B   2
C   3
D   4
E   5
a   27
b   28
c   29
d   30
e   31

Another   Exc Example

复制代码 代码如下:

var regexp = /ab*/g;
var str = "abbcdefabh";
var rs;
while ((rs = regexp.exec(str)) != null)
{
    document.write(rs);
    document.write(regexp.lastIndex);
    document.write("<br />");
}

// rs = true; boolean

OUTPUT

abb   3
ab     9

Exc Example

你也许感兴趣的作品:

  • JS正则表达式大全(整理详细且实用)
  • 正如正宗的印证邮箱的正则表达式js代码详解
  • javascript 手提式有线电话机号码正则表达式验证函数
  • js 常用正则表明式表单验证代码
  • JS正则表明式验证数字代码
  • JavaScript正则表明式验证居民身份证编号是还是不是合法(三种方法)
  • 精晓JS正则表明式(推荐)
  • 顾客名、密码等16个常用的js正则表达式
  • js各类申明文本框输入格式(正则表明式)
  • js 替换功效函数,用正则表明式消除,js的成套交替
  • JS正则表明式常见用法实例详解

复制代码 代码如下:

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 />");
}

你也许感兴趣的篇章:

  • JavaScript中误用/g导致的正则test()异常的小概准确重复施行的消除方案
  • 简述JavaScript的正则表明式中test()方法的选用
  • js正则表明式test()和exec()用法实例
  • js正则表达式中test,exec,match方法的区分表明
  • js 正则表明式之test函数疏解
  • js正则函数match、exec、test、search、replace、split使用介绍集结
  • 浅谈js中test()函数在正则中的使用
TAG标签:
版权声明:本文由990888藏宝阁发布于关于计算机,转载请注明出处:js正则表明式中test,exec详细深入分析