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(全局匹配)。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通