当前位置: 首页 > news >正文

【正则表达式】中的“\b“

正则表达式是一种用于匹配字符串的强大工具,它可以用于各种编程语言中,可以用来在文本中查找、替换或验证符合某种规则的内容。

正则表达式中有很多特殊的符号,称为元字符,它们有着特殊的含义和作用。其中,“\b” 是其中一个比较常用的元字符,它表示单词边界

什么是单词边界?

单词边界是指一个单词的开头或结尾,或者一个单词和一个非单词字符之间的位置。单词字符通常指字母、数字和下划线,非单词字符则是指除此之外的所有字符。例如,下面的句子中,每个单词的前后都有一个单词边界:

This is a sentence.

“\b” 的使用

使用”\b"可以方便地匹配一个完整的单词,而不是单词的一部分。

“\b” 可以用于正则表达式中,以表示一个单词的边界。例如,如果要匹配"cat"这个单词,而不是"catch"或"concatenate"中的"cat",可以使用正则表达式"\bcat\b"。这样,只有当"cat"前后都是非单词字符或者字符串的开头或结尾时,才会匹配成功。

需要注意的是,“\b"不匹配任何实际的字符,只匹配一个位置,因此在匹配时并不会包括 “\b” 所在的位置。

下面是一些 “\b” 的使用示例:

  • 匹配单词 “hello”:\bhello\b
  • 匹配单词 “world”:\bworld\b
  • 匹配单词开头:\b\w
  • 匹配单词结尾:\w\b

拓展

深入理解单词边界

单词边界是指一个单词的开头或结尾,或者一个单词和一个非单词字符之间的位置。这句话很关键!

对于字符串"leve == @com.example.MyEnum@FIRST",使用正则表达式\b@com.example.MyEnum是匹配不到的。因为@com.example.MyEnum"的第一个字符(‘@’)是非单词字符,而它前面的字符(空格)也是非单词字符。

如果上面的字符串是"leve == s@com.example.MyEnum@FIRST",这个正则表达式就匹配不到了。因为它前面的字符(‘s’)是单词字符。

关于\B

\B\b相反,匹配非单词边界。例如,er\B能匹配“verb”中的“er”,但不能匹配“never”中的“er”

总结

“\b” 是正则表达式中的一个元字符,用于表示单词边界。掌握了 “\b” 的使用,可以更加精确地匹配字符串,避免出现不必要的匹配。

http://www.lryc.cn/news/220244.html

相关文章:

  • FPGA高端项目:图像采集+GTP+UDP架构,高速接口以太网视频传输,提供2套工程源码加QT上位机源码和技术支持
  • 数据库系统原理与实践 笔记 #7
  • 【CesiumJS】(1)Hello world
  • Docker 学习路线 5:在 Docker 中实现数据持久化
  • linux下使用vscode对C++项目进行编译
  • LangChain+LLM实战---ChatGPT的即时插件套件制作
  • 包装印刷行业万界星空科技云MES解决方案
  • Python教程---计算机语言简介
  • rhcsa-文件内容显示
  • 宠物养成猫狗商城门店问诊档案流量主小程序开发
  • 应用安全四十二:SSO安全
  • 【行云流水线实践】基于“OneBuild”方法对镜像进行快速装箱 | 京东云技术团队
  • 软件开发必备神器!一文读懂10款热门看板工具推荐!
  • 怎样提取视频提取的人声或伴奏?
  • SpringBoot概述
  • 深度学习框架TensorFlow.NET环境搭建1(C#)
  • Git客户端软件 Tower mac中文版特点说明
  • 详解IPD需求分析工具$APPEALS
  • 318. 最大单词长度乘积
  • .NET Core 中插件式开发实现
  • 并查集模版以及两道例题
  • 英飞凌TLF35584规格书中文
  • 【教3妹学编程-算法题】最大单词长度乘积
  • 遇到python程序是通过sh文件启动的,如何调试
  • 应用系统集成-Spring Integration
  • 亚马逊与TEMU平台欧代英代如何注册?注册欧代/英代流程及注意事项
  • 【嵌入式开发工具】STM32+Keil实现软件工程搭建与开发调试
  • python 去除图像中的框
  • 企业邀约媒体的方式方法?-(快速精准)
  • 旅游业为什么要选择VR全景,VR全景在景区旅游上有哪些应用