ES6-11学习笔记--正则表达式的扩展

y修饰符
u修饰符
 
复习以前的修饰符:
i(忽略大小写)
m(多行匹配)
g(全局匹配)
 
y修饰符:粘连修饰符
const str = 'aaa_aa_a'
const reg1 = /a+/g // g修饰符每次匹配剩余字符
const reg2 = /a+/y // y修饰符每次剩余的第一个开始匹配

console.log(reg1.exec(str)); // aaa
console.log(reg1.exec(str)); // aa
console.log(reg1.exec(str)); // a

console.log(reg2.exec(str)); // aaa
console.log(reg2.exec(str)); // null
console.log(reg2.exec(str)); // aaa

  

u修饰符,unicode
const uStr = 'uD842uDFB7' // 表示一个字符,这是一个整体
console.log(/^uD842/.test(uStr)); // es5 true
console.log(/^uD842/u.test(uStr)); // es6 false

// .除了换行符以外的任意单个字符
console.log(/^.$/.test(uStr)); // false
console.log(/^.$/u.test(uStr)); // true

console.log(/u{61}/.test('a')); // false
console.log(/u{61}/u.test('a')); // true

// 以上主要是要说明u修饰符是unicode超出范围来正确进行正则匹配

  

放弃安逸,持续努力——成长
原文地址:https://www.cnblogs.com/MarsPGY/p/14828940.html