正则表达式是前端开发中必不可少的一部分,可以用于匹配字符串、验证输入是否合法、替换文本等等。ES9又增加了五个新的正则表达式,让我们来一一了解。
s 修饰符
s 修饰符可以让 .
匹配任何字符,包括换行符 \n
。在之前的正则表达式中,.
只能匹配除换行符外的任何字符。
const str = `hello world`; console.log(str.match(/hello.world/)); // null console.log(str.match(/hello.world/s)); // ["hello\nworld"]
向前查看断言
向前查看断言可以在匹配某个字符串之前判断其前面是否有另一个字符串;例如 (?=...)
表示断言前面必须匹配某个字符串。
console.log('google'.match(/go(?=ogle)/)); // ["go"] console.log('goggle'.match(/go(?=ogle)/)); // null
向后查看断言
向后查看断言可以在匹配某个字符串之后判断其后面是否有另一个字符串;例如 (?<=...)
表示断言后面必须匹配某个字符串。
console.log('google'.match(/(?<=goo)gle/)); // ["gle"] console.log('goggle'.match(/(?<=goo)gle/)); // null
否定向前查看断言
否定向前查看断言和向前查看断言相反,表示前面必须没有某个字符串;例如 (?!...)
表示断言前面必须没有某个字符串。
console.log('google'.match(/go(?!ogle)/)); // null console.log('goggle'.match(/go(?!ogle)/)); // ["go"]
否定向后查看断言
否定向后查看断言和向后查看断言相反,表示后面必须没有某个字符串;例如 (?<!...)
表示断言后面必须没有某个字符串。
console.log('google'.match(/gle(?<!oo)/)); // null console.log('goggle'.match(/gle(?<!oo)/)); // ["gle"]
以上就是 ES9 新增的五个正则表达式,它们都有着深入而又广泛的使用场景,可以帮助开发者更好地处理字符串。在实际开发过程中,可以根据需求灵活运用这些正则表达式来提升开发效率和代码质量。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/67b7f137306f20b3a654a9d1