之前看别人写的插件经常会用到RegExp对象来验证输入,并且获取一些那时我并不晓得是什么东西的数组,来取值进行自定义的逻辑处理。今天学习了一下RegExp类型。终于有了一个初步的了解,至少不会看一会就感觉蒙圈了,记录分享一下

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

RegExp类型exec()方法的返回值说明的更多相关文章

  1. Java使用对象类型作为方法的返回值

  2. MVC方法的返回值类型

    MVC方法返回值类型 ModelAndView返回值类型: 1.当返回为null时,页面不跳转. 2.当返回值没有指定视图名时,默认使用请求名作为视图名进行跳转. 3.当返回值指定了视图名,程序会按照 ...

  3. Controller方法的返回值

    方法的返回值1.ModelAndView这个就不多说,这是最基础的,前面定义一个ModelAndView,中途使用addObject方法添加属性,再返回.视图解析器会自动扫描到的.2.String这个 ...

  4. SSM-SpringMVC-21:SpringMVC中处理器方法之返回值Object篇

    ------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 今天要记录的是处理方法,返回值为Object的那种,我给它分了一下类: 1.返回值为Object数值(例如1) ...

  5. Java反射机制二 获取方法的返回值或参数的泛型信息

    在使用反射机制时,我们经常需要知道方法的参数和返回值类型,很简单  ,下面上示例,示例中的两个方法非常相似 package deadLockThread; import java.lang.refle ...

  6. 7 -- Spring的基本用法 -- 10... 获取其他Bean的属性值;获取Field值;获取任意方法的返回值

    7.10 高级依赖关系配置 组件与组件之间的耦合,采用依赖注入管理:但基本类型的成员变量值,应直接在代码中设置. Spring支持将任意方法的返回值.类或对象的Field值.其他Bean的getter ...

  7. 11.SpringMVC注解式开发-处理器方法的返回值

    处理器方法的返回值 使用@Controller 注解的处理器的处理器方法,其返回值常用的有四种类型 1.ModelAndView 2.String 3.void 4.自定义类型对象 1.返回Model ...

  8. STL—— 容器(vector)数据插入insert()方法 的返回值

    vector 容器下的 insert() 方法拥有返回值,由于insert() 方法拥有4种重载函数,他的返回值不尽相同. 第一种,插入单个元素后的返回值: 1 #include <iostre ...

  9. PHP方法的返回值

    不仅是PHP,大部分编程语言的函数或者叫方法,都可以用return来定义方法的返回值.从函数这个叫法来看,本身它就是一个计算操作,因此,计算总会有个结果,如果你在方法体中处理了结果,比如进行了持久化保 ...

随机推荐

  1. webpack的安装和使用

    Webpack是什么 首先可以看下 官方文档 ,文档是最好的老师. Webpack是由Tobias Koppers开发的一个开源前端模块构建工具.它的基本功能是将以模块格式书写的多个JavaScrip ...

  2. ASP.NET MVC5 网站开发实践(二) Member区域 - 咨询管理的架构

    咨询.留言.投诉等功能是网站应具备的基本功能,可以加强管理员与用户的交流,在上次完成文章部分后,这次开始做Member区域的咨询功能(留言.投诉都是咨询).咨询跟文章非常相似,而且内容更少.更简单. ...

  3. javascript运动系列第三篇——曲线运动

    × 目录 [1]圆周运动[2]三维圆周 [3]钟摆运动 [4]抛物线[5]流体运动 前面的话 上一篇介绍了变速运动,但只实现了直线运动.如果元素的left和top同时运动,并遵循不同的曲线公式,则会进 ...

  4. javascript面向对象系列第三篇——实现继承的3种形式

    × 目录 [1]原型继承 [2]伪类继承 [3]组合继承 前面的话 学习如何创建对象是理解面向对象编程的第一步,第二步是理解继承.本文是javascript面向对象系列第三篇——实现继承的3种形式 [ ...

  5. java中Set,Map,Stack一些简单用法

    import java.util.Iterator; import java.util.Stack; import java.io.*; import java.util.Set; import ja ...

  6. Neutron Vlan Network 原理- 每天5分钟玩转 OpenStack(92)

    前面我们陆续学习了 Neutron local network,flat network 和 DHCP 服务,从本节将开始讨论 vlan network. vlan network 是带 tag 的网 ...

  7. git与svn, tfs等源代码管理器的协同

    简单地说,这三个都是业界知名的源代码管理器.他们是有区别的,根本的区别在于git是分布式源代码管理器(每个本地都有完整的代码,及历史),而svn和tfs是集中式源代码管理器(只有服务器才有完整的历史, ...

  8. 关于在Linux64位下安装xampp

    网上关于这个主题的内容比较少,所以就写一下按装后的心得.之前一直在windows下用xampp,想在Linux下也体验一把,可是自己的Linux装的是64位的在XAMPP的官网上http://www. ...

  9. canvas学习笔记

    html5的新标签:canvas; 作用:标签定义图形,比如图表和其他图像:标签只是图形容器,您必须使用脚本来绘制图形.默认大小:宽300px,高150px; 背景知识:概念最初由苹果公司提出的,用于 ...

  10. windows下compsoer的简单操作

    *****************************************[安装]***************************************** 下载地址https://g ...