多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
[TOC] >[success] # 正则表达式 ~~~ 'Es6'新增的一些正则表达式方法,有的方法没写,因为'不会正则表达式',这里就'暂时不记太多' ~~~ <br/> >[success] ## 复制正则表达式 ### ES5复制正则方法 ~~~ var re1 = /ab/i // 定义初始化正则表达式 var re2 = new RegExp(re1) // 复制re1的正则表达式 console.log(re2) // /ab/i re1 = /ab/g // 这里修改一下re1 console.log(re2) // /ab/i console.log(re1) // /ab/g ~~~ ### ES6复制正则方法 ~~~ 'ES5'中传递第'2'个'参数'就会报错,'ES6'中第'new RegExp()'构造函数可以传递第二个参数,例如: ~~~ ~~~ var re1 = /ab/i // 定义初始化正则表达式 var param = 1 ? 'g' : '' // 动态改变标志i代表大小写标志,g代表全局 var re2 = new RegExp(re1,param) // 复制re1的正则表达式,并且传第二个参数 console.log(re2) // /ab/g ~~~ <br/> >[success] ## flags属性 ### ES5获取正则标志 ~~~ 'ES5'想获取'正则表达式'中的'标志字符串', ~~~ ~~~ function getFlags(re) { var text = re.toString() return text.substring(text.lastIndexOf("/") + 1, text.length) } // toString() 的输出为 "/ab/g" var re = /ab/g console.log(getFlags(re)) // "g" ~~~ ### ES6用flags获取正则标志 ~~~ var re = /ab/g // 定义初始化正则表达式 console.log(re.source) // "ab" console.log(re.flags) // "g" ~~~