RegExp构造函数
在ES5中,RegExp构造函数的参数有两种情况。 第一种情况是,参数是字符串,这时第二个参数表示正则表达式的修饰符(flag)。
var regex = new RegExp('xyz', 'i'); // 等价于
var regex = /xyz/I;
第二种情况是,参数是一个正则表示式,这时会返回一个原有正则表达式的拷贝。
var regex = new RegExp(/xyz/i); // 等价于
var regex = /xyz/I;
字符串的正则方法
u修饰符(较难)
y修饰符
ES6新增了使用大括号表示Unicode字符,这种表示法在正则表达式中必须加上 u 修饰符,才能识别。
(1)点字符
点( . )字符在正则表达式中,含义是除了换行符以外的任意单个字符。对于码点大于 0xFFFF 的Unicode字符,点字符不能 识别,必须加上 u 修饰符。
(2)Unicode字符表示法 ES6新增了使用大括号表示Unicode字符,这种表示法在正则表达式中必须加上 u 修饰符,才能识别。
(3)量词
使用 u 修饰符后,所有量词都会正确识别大于码点大于 0xFFFF 的Unicode字符。
(4)预定义模式
u修饰符也影响到预定义模式,能否正确识别码点大于 的Unicode字符。
(5)i修饰符
有些Unicode字符的编码不同,但是字型很相近,比如, \u004B 与 \u212A 都是大写的K。
y修饰符
除了 u 修饰符,ES6还为正则表达式添加了 y 修饰符,叫做“粘连”(sticky)修饰符。
y修饰符的作用与 g 修饰符类似,也是全局匹配,后一次匹配都从上一次匹配成功的下一个位置开始。不同之处在
于, 修饰符只要剩余位置中存在匹配就可,而 y 修饰符确保匹配必须从剩余的第一个位置开始,这也就是“粘连”的涵义。
sticky属性
与 y 修饰符相匹配,ES6的正则对象多了 sticky 属性,表示是否设置了 y 修饰符。
var r = /hello\d/y;
r.sticky // true
flags属性
ES6为正则表达式新增了 flags 属性,会返回正则表达式的修饰符。
作者开发经验总结的文章推荐,持续更新学习心得笔记
五星推荐 Runtime 10种用法(没有比这更全的了)
五星推荐 成为iOS顶尖高手,你必须来这里(这里有最好的开源项目和文章)
五星推荐 iOS逆向Reveal查看任意app 的界面
五星推荐手把手教你使用python自动打包上传应用分发
JSPatch (实时修复App Store bug)学习(一)
iOS 高级工程师是怎么进阶的(补充版20+点)
扩大按钮(UIButton)点击范围(随意方向扩展哦)
最简单的免证书真机调试(原创)
通过分析微信app,学学如何使用@2x,@3x图片
TableView之MVVM与MVC之对比
使用MVVM减少控制器代码实战(减少56%)
ReactiveCocoa添加cocoapods 配置图文教程及坑总结