小米技术社区
小米技术社区管理员 关于小米

27岁,山西运城人,职业电商经理人,前端开发工作者,从事过网站建设、网络推广、SEO、SEM、信息流推广、二类电商、网络运维、软件开发,等相关电商工作,经验较为丰富,小米技术社区致力于为广大从事Web前端开发的人员提供一些力所能及的引导和帮助 ...[更多]

E-mail:mzze@163.com

Q Q:32362389

W X:xiaomi168527

小米技术社区大牛王飞 关于王飞

27岁,山西运城人,职业电商经理人,网络工程师兼运维,从事过运营商网络建设,企业网络建设、优化。数据中心网络维护等通过,经验丰富,座右铭:当自己休息的时候,别忘了别人还在奔跑。 ...[更多]

E-mail:wf_live@126.com

Q Q:3940019

微博:王小贱ss

小米技术社区设计小艳 关于小艳

大于花一样的年龄,河南郑州是我家,2010年在北京接触团购网,2011年进入天猫淘宝一待就是四年,如今已经将设计走向国际化(ps:误打误撞开始进入阿里巴巴国际站的设计,嘿嘿)五年电商设计,丰富经验,从事过天猫淘宝阿里各项设计,店铺运营,产品拍摄;我将我的经历与您分享是我的快乐!座右铭:越努力越幸运! ...[更多]

E-mail:97157726@qq.com

Q Q:97157726

标签云
精品推荐
  • 工作中常用正则表达式汇总

    工作中常用正则表达式汇总

    基本蕴含了工作中常用的正则表达式Examples符号含义.*?省略(.*?)显示[\S\s]*?连接省略(忽律换行符和空格)([\s\S]*?)连接显示([\u4e00-\u9fa5]+)只显示中文\d匹配随……
    208人已经看过了
您的位置:首页 > 前端开发 > Javascript > 正则表达式

js中正则对象的方法,test方法,exec方法,lastIndex属性

分类: 正则表达式29个赞

正则对象的方法有test方法和exec方法


正则对象两种定义方式:

    var pattern = /[a-z]/;          //将正则表达式直接当做对象使用。
    var pattern = new RegExp(/[a-z]/);        //实例化RegExp对象

注意:js中正则表达式两边不用加引号

正则表达式中,一般不需要加全局修饰符g。

    var str = 'php1js22';
    var pattern = /^[a-z]/;//以小写字母开头
    var res = pattern.test(str);//匹配字符串是否以小写字母开头
    console.log(res);//true


1、test方法

test方法检测目标字符串和正则表达式是否匹配,如果匹配返回true,不匹配返回false。

正则表达式中,一般不需要加全局修饰符g。

var str = 'php1js22';
    var pattern = /^[a-z]/;//以小写字母开头
    var res = pattern.test(str);//匹配字符串是否以小写字母开头
    console.log(res);//true


2、exec方法

exec方法执行一个正则匹配,**只匹配一次**,匹配到结果就返回一个数组类型的结果,匹配不到就返回null。

正则表达式中,一般不需要加全局修饰符g。

即使正则表达式中,使用了全局匹配修饰符g,也只匹配一次。

var str = 'php1js22';
var pattern = /[a-z]/;//匹配小写字母字符串
//var pattern = /[a-z]/g;//全局匹配小写字母字符串
var res1 = pattern.exec(str);
console.log(res1);//["p"] 只匹配一次,返回数组


3、lastIndex属性


表示正则表达式,上一次匹配结束后的位置(目标字符串中的索引),即下一次匹配开始的位置。

lastIndex是一个整数,。没有更多匹配重置lastIndex为0.

test 方法和exec方法默认都只匹配一次。匹配后lastIndex 被自动重置为0.

特殊情况:如果正则表达式使用了全局匹配修饰符g,则lastIndex不会被重置为0.

var str = 'php1js22';
    //var pattern = /[a-z]/;//匹配小写字母字符串
    var pattern = /[a-z]/g;//全局匹配小写字母字符串
    var res1 = pattern.exec(str);
    console.log(res1);//["p"] 只匹配一次,返回数组
    console.log(pattern.lastIndex);//1  下一次匹配开始的位置
    var res2 = pattern.exec(str);
    console.log(res2);//["h"] //从位置1开始匹配


小米技术社区

本站内容均为小米原创,转载请注明出处:小米技术社区>> js中正则对象的方法,test方法,exec方法,lastIndex属性