1、es5中正则表达式的方法有三个:
- reg.exec()
- reg.test()
- reg.compile()
2、在String中,我们也可以用正则表达式,涉及到大的方法主要有四个
- str.match()
- str.replace()
- str.search()
- str.split()
> ES6 将这4个方法,在语言内部全部调用RegExp的实例方法,从而做到所有与正则相关的方法,全都定义在RegExp对象上。
- String.prototype.match 调用 RegExp.prototype[Symbol.match]
- String.prototype.replace 调用 RegExp.prototype[Symbol.replace]
- String.prototype.search 调用 RegExp.prototype[Symbol.search]
- String.prototype.split 调用 RegExp.prototype[Symbol.split] (引自阮一峰的es6入门)
3、断言,比如说要替换匹配到的内容,匹配到的内容都是x,y不受影响
- 先行断言:从左到右匹配
/x(?=y)/ x在y的前边 /x(?!y)/ x不在y的前边
- 后行断言:从右到左匹配
/(?<=y)x/ x在y的后边 /(?<!y)x/ 不在y的后边
4、ES6新增修饰符
- u:会正确处理四个字节的 UTF-16 编码
- y:粘连修饰符
- s:dotAll模式