正则 表达式 边界 : \b 和 \B
摘抄自皮蛋很白
- 正则表达式 边界
- \b 表示单词边界
- \B 表示非单词边界,应理解为(非单词)边界,而不是非(单词边界),它仍然匹配的是边界
-
边界
我将正则中的位置分为 字符的占位 和 字符的间隙。
字符的占位是显式的位置。
以 I'm iron man 为例。
肉眼可见的字母 符号 空格都是可以占位的字符,也就是可以用下标获取到字符的位置。
字符的间隙是隐式的位置。
即显示位置之间的位置,比如I和'之间的位置,字符串开头和I之间的位置等。
边界 指的是占位的字符左右的间隙位置。 -
单词
正则中所说的单词指的是 \w 可以匹配的字符,即数字、大小写字母以及下划线 [0-9a-zA-Z_]
\b 单词边界
单词边界匹配的就是这样的间隙位置:
左边占位的字符或右边占位的字符,至少有一个不是 \w
**\B 非单词边界**
理解了 \b,\B就好理解了。
它匹配的也是 边界 ,针对的是 与 \b 相反 的 非单词(\W)。
也就是,左右占位的字符,都必须是 \w。
或者说 所有不能被\b匹配的 边界。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本