长沙web培训
达内长沙侯家塘中心

15017569023

热门课程

RegExp类型exec()方法的返回值

  • 时间:2016-10-27 18:03
  • 发布:长沙web培训
  • 来源:web教程

长沙达内的老师今天讲RegExp类型exec()方法的返回值的说明。

长沙达内的老师现在给大家分享一下

ECMAScript通过RegExp类型来支持正则表达式

语法如下

var expression = /pattern / flags;

其中pattern部分是正则表达式。flags部分用来标明正则表达式的行为,正则表达式的匹配模式支持一下3种:

g:表示全局模式,即模式将被应用于所有字符串,而非在发现第一个匹配项时立即停止。

i:表示不区分大小写。

m:表示多行模式,级在到达一行文本末尾时还会继续查找下一行中是否存在鱼模式匹配的项。

举个栗子:

var pattern1= /at/g;//匹配字符串中所有"at"的实例

var pattern2 = /[bc]at/i; //匹配第一个"bat"或"cat",不区分大小写

了解了正则的语法,下面说一下RegExp实例,上代码说明吧

var pattern = ew RegExp("\\[bc\\]at","i");//创建正则实例

alert(pattern.global);//false是否设置全局标识

alert(pattern.ignoreCase); //true 是否不区分大小写

alert(pattern.multiline);//false是否设置多行标识

alert(pattern.lastIndex);//0表示开始搜索下一个匹配项的字符位置,从0算起

alert(pattern.source);//"\[bc\]at"返回按照字面量形式而非传入构造函数中的字符串模式

以上,基本上我们就关系输入的正则表达式和标志符就可以了。下面就是我之前总蒙圈的东西了。终于弄明白都代表了什么,依旧代码说明

var text ="this has been a short summer";

var pattern =/(..)or(.)/g;

var matches=pattern.exec(text);

console.log(matches.index);  // 16

console.log(matches.input);  // this has been a short summer

console.log(matches[0]);// short

console.log(matches[1]);// sh

console.log(matches[2]);// t

下面长沙达内的老师解释一下

exec()接受一个参数,即要应用模式的字符串,然后返回包含第一个匹配项信息的数组;或者在没有匹配项的情况下返回null.

返回的数组是Array实例,但包含两个额外的属性: index和input。

其中,

index表示匹配项在字符串中的位置。(上面代码匹配项为short,对应的位置是16);

input表示应用正则表达式的字符串。(上面代码的text变量的值this has been a short summer);

在数组中,

第一项:表示与整个模式匹配的字符串(上面代码中的short匹配正则校验);

其它项:与模式中的捕获组匹配的字符串(如果模式中没有捕获组,则该数组只包含一项)

上述代码匹配模式中包含两个捕获组。第一个为(..),对应捕获的字符为sh;第二个为(.),对应的捕获字符为t。

okay.知道了数组的各项的意义,再看一些插件或库时,就不会一直蒙圈了。当然,我们也可以根据返回的匹配数据来自定义逻辑操作了。

上一篇:jquery div下拉框焦点事件
下一篇:js原声快速实现选项卡

马上预约三天免费体验课

姓名:

电话:

WEB前端工程师:制作天气预报

KnockoutJS 3.X API:template绑定

js原声快速实现选项卡

RegExp类型exec()方法的返回值

选择城市和中心
贵州省

广西省

海南省