-
课程名称:JavaScript ES(6-11)全版本语法 每个前端都需要的基础课
-
课程章节: 正则表达式扩展:dotAll,具名组匹配,后行断言
-
主讲老师:谢成
课程内容:
今天学习的内容包括:
正则表达式扩展:dotAll,具名组匹配,后行断言
课程收获:
dotAll 属性表明是否在正则表达式中一起使用"s"修饰符(引入/s 修饰符,使得。可以匹配任意单个字符)。dotAll 是一个只读的属性,属于单个正则表达式实例。如果使用了"s"修饰符,dotAll 的值将返回Boolean类型的true,否则将返回false。“s"修饰符表示,特殊字符”."应另外匹配字符串中的下述行终结符(line terminator characters),否则将会失配:
dot www.imooc.com dotAll
.
const reg = /./
console.log(reg.test('5')) // true
console.log(reg.test('x')) // true
console.log(reg.test('\n')) // false
console.log(reg.test('\r')) // false
console.log(reg.test('\u{2028}')) // false
console.log(reg.test('\u{2029}')) // false
const reg = /./s
console.log(reg.test('5')) // true
console.log(reg.test('x')) // true
console.log(reg.test('\n')) // true
console.log(reg.test('\r')) // true
console.log(reg.test('\u{2028}')) // true
console.log(reg.test('\u{2029}')) // true
修饰符: g i m y u s
具名组匹配
const date = /(\d{4})-(\d{2})-(\d{2})/.exec('2020-01-01')
console.log(date)
console.log(date[1])
console.log(date[2])
console.log(date[3])
const reg = /(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})/
// console.log(reg.exec('2020-02-01'))
const groups = reg.exec('2020-02-01').groups
// const year = groups.year
// const month = groups.month
// const day = groups.day
const {year, month, day} = groups
console.log(year, month, day)
// 先行断言
const str = 'ecmascript'
console.log(str.match(/ecma(?=script)/))
// es9:后行断言
console.log(str.match(/(?<=ecma)script/))
console.log(str.match(/(?<!ecma)script/))
今天学习课程共用了35分钟,重新了解了一下正则表达式扩展:dotAll,具名组匹配,后行断言,这是我不知道第多少次决心补习JavaScript基础,希望能够坚持下去。