首页 / ES6 / ES6标准入门之正则表达式的拓展
ES6标准入门之正则表达式的拓展
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了ES6标准入门之正则表达式的拓展,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1521字,纯文字阅读大概需要3分钟。
内容图文
所谓正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。在之前使用基于Jquery库开发项目的时候,用的正则表达式最多的就是一些输入框的检验,比如检验电话号码或者邮箱的格式是否合适等。
在ES5中,RegExp构造函数的参数有两种情况:
一、参数是字符串,这是第二个参数标识正则表达式的修饰符(flag)。
var regex = new RegExp(‘xyz‘, ‘i‘);
// 等价于 var regex = /xyz/i;
二、参数是一个正则表达式,这时会返回一个原有正则表达式的拷贝。
var regex = new RegExp( /xyz/i) ;
// 等价于 var regex = /xyz/i;
但是ES5不允许此时使用第二个参数添加修饰符,即第一种方式,否则就会报错。ES6改变了这种行为,如果RegExp构造函数第一个参数是正则表达式,那么可以使用第二个参数指定修饰符。而且,返回的正则表达式会忽略原有正则表达式的修饰符,只有重新指定。下面为大家介绍一下ES6对正则表达式新增的各种修饰符:
1、u修饰符
ES6对正则表达式添加u修饰符,含义为“Unicode模式”,用来正确处理大于\uFFFF的Unicode字符,也就是说可以正确处理4个字节的UTF-16编码。
2、y修饰符
y修饰符又叫粘连,与g修饰符类似,都是从上一次匹配成功的下一个位置开始,只不过y修饰符会确保匹配必须从剩余的第一个位置开始。
3、s修饰符
s修饰符就是doAll模式,字符串中所有的字符都匹配,包括换行符(\n)、回车符(\r)等。
介绍完各种修饰符之后,为大家重点介绍具名组匹配,简而言之就是正则表达式使用圆括号进行组匹配,先看下面一段代码
1 const RE_DATA = /(\d{4})-(\d{2})-(\d{2})/; 2 const maset = RE_DATA.exec(‘1999-12-31‘); 3 console.log(maset[1]); 4 console.log(maset[2]); 5 console.log(maset[3]); 67// 19998// 129// 31
看完这段代码是不是觉得之前自己处理时间的时候白白写了很多代码,反正我是这样觉得的,我一直都是对后台传给我的时间字段进行split分隔,显得很low,有了组匹配是不是高大上了很多,嘿嘿。
所谓具名组匹配就是在圆括号内部,在模式的头部添加“问号 + 尖括号 + 组名”,然后在exec方法中返回结果的groups属性上引用该组名,看下面代码
1 const RE_DATA_REG = /(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})/; 2 3 const maset_re = RE_DATA_REG.exec(‘1999-12-31‘); 4 5console.log(maset_re.groups.year); 6console.log(maset_re.groups.year); 7console.log(maset_re.groups.year); 8 910// 199911// 1212// 31
原文:https://www.cnblogs.com/hexiaobao/p/10192459.html
内容总结
以上是互联网集市为您收集整理的ES6标准入门之正则表达式的拓展全部内容,希望文章能够帮你解决ES6标准入门之正则表达式的拓展所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。