一,RegExp 构造函数
es5中,RegExp构造函数的参数有两种情况。
1,参数是字符串,第二个参数表示正则表达式的修饰符(flag)。
2,参数是一个正则表达式,返回一个原有正则表达式的拷贝。
es6中,如果RegExp构造函数第一个参数是一个正则对象,那么可以使用第二个参数指定修饰符。而且,返回的正则表达式会忽略原有的正则表达式的修饰符,只使用新指定的修饰符。
new RegExp(/abc/ig,'i').flags // 返回 i,原有的ig被替换为i
二,字符串的正则方法
es5:match(),replace(),search(),split()
es6:将es5的4个方法,在语言内部全部调用regexp的实例方法,而从做到所有与正则相关的方法,全部定义在RegExp对象上。
-String.prototype.match 调用 RegExp.prototype[Symbol.match] 类似的replace,search,split方法同理
三,U修饰符
es6对正则表达式添加了U修饰符,含义为“Unicode"模式,用来正确处理大于\uFFFF得Unicode字符。也就是说,会正确处理四个字节得=的UTF-16编码。
一旦加上U修饰符号,就会修改下面这些正则表达式的行为。
(1)点字符
点(.)字符在正则表达式中,含义是除了换行符以外的任意单个字符。对于码点大于oxFFFF的Unicode字符,点字符不能识别,必须加上U修饰符。
var s = '原文地址:https://www.cnblogs.com/feng-xl/p/10360916.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。