es6的正则扩展笔记之修饰符

es6对于正则表达式添加了 u 修饰符和 y 修饰符。

  u 修饰符:含义为“Unicode模式”,用来正确处理大于\uFFFF的Unicode字符。

         该修饰符不光会正确处理正则表达式,还会正确处理被匹配的字符串。

         利用新增的正则实例对象属性 unicode ,可以判断正则表达式是否设置了u修饰符。(reg.unicode)

  y 修饰符:叫做 “粘连”(sticky)修饰符。用来正确处理匹配粘连的字符串。

         它的作用和g修饰类似,也是全局匹配。

         它可以使用新增的正则对象属性sticky来判断正则对象是否设置了y修饰符。(reg.sticky)

       区别:(y 和 g)

          1.    g 修饰符只要剩余位置中存在匹配的字符串就可以返回成功。

            而y修饰符确保匹配必须是从剩余的所有位置中的第一个位置开始,这也是粘连的含义。

          2.    y 修饰符隐含了头部匹配的标志^(^x表示匹配的字符串的首个字符必须是x)

  s 修饰符:被称为 dotAll 模式,即点(dot)代表一切字符。

         可以使用正则对象新增属性 dotAll 来判断正则对象是否设置了 dotAll 模式。(reg.dotAll)

         作用是可以使得 . 可以匹配任意单个字符。

u、y、s都是新增的正则对象修饰符。
在js正则对象还有其他的元老修饰符,i(是否执行大小写不敏感匹配,设置了就不区分大小写)、m(多行匹配)、g(全局匹配)。

posted @   唯一念  阅读(908)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示