罗田县升平网络工作室,一家专业从事网站建设的工作室

资讯论坛

 找回密码
 加入论坛

快捷登录

回帖中禁止出现的内容,违者将被直接永久禁止访问,删除ID处理 :1.违反法律法规 ,包括但不限于出现带有政治、色情、暴恐信息等内容;2.恶意攻击内容,包括但不限于:恶意攻击党和政府、辱骂跟帖者、攻击主题发布者、不服从论坛管理、挑衅管理者、挑战版规等;3.广告、推广内容,尤其出现带有病毒、恶意代码、广告链接等内容,包括但不限于:QQ号、文字QQ号、微信号、手机号、文字手机号、第三方网址、单位公司名称、网站名称等;4.回帖贴出该主题隐藏资源链接或其它主题隐藏资源链接的行为。
查看: 310|回复: 0

深入浅出正则表达式中的边界\b和\B

[复制链接]

694

主题

636

帖子

770

积分

社区达人

积分
770
发表于 2021-11-15 11:44:25 | 显示全部楼层 |阅读模式
目录


  • 边界
  • 单词

    • \b 单词边界
    • \B 非单词边界

  • 举列
  • 总结
正则表达式中:
       
  • \b 表示单词边界   
  • \B 表示非单词边界,应理解为(非单词)边界,而不是非(单词边界),它仍然匹配的是边界

边界


我将正则中的位置分为 字符的占位 和 字符的间隙。
字符的占位是显式的位置。
以 I'm iron man 为例。
肉眼可见的字母 符号 空格都是可以占位的字符,也就是可以用下标获取到字符的位置。
字符的间隙是隐式的位置。
即显示位置之间的位置,比如I和'之间的位置,字符串开头和I之间的位置等。
边界 指的是占位的字符左右的间隙位置。

单词


正则中所说的单词指的是 \w 可以匹配的字符,即数字、大小写字母以及下划线 [0-9a-zA-Z_]

\b 单词边界


单词边界匹配的就是这样的间隙位置:
左边占位的字符或右边占位的字符,至少有一个不是 \w
  1. // 只有首尾位置匹配console.log('0aZ_'.replace(/\b/g, '.')) // .0aZ_.// +不是\w,所以它的左右间隙都可以被匹配console.log('a+a'.replace(/\b/g, '.')) // .a.+.a.// 空格也不是\w,所以它的左右间隙都可以被匹配console.log('a a'.replace(/\b/g, '.')) // .a. .a.
复制代码
\B 非单词边界


理解了 \b,\B就好理解了。
它匹配的也是 边界 ,针对的是 与 \b 相反 的 非单词(\W)。
也就是,左右占位的字符,都必须是 \w。
或者说 所有不能被\b匹配的 边界。
  1. console.log('0aZ_'.replace(/\B/g, '.')) // 0.a.Z._console.log('a+a'.replace(/\B/g, '.')) // a+a.console.log('a a'.replace(/\B/g, '.')) // a a
复制代码
举列

1.单词边界
  1. var str = ' 2 ';//其中空格与2之间的位置叫做单词边界,匹配\b
复制代码
2.非单词边界
  1. var str = ",,,,,和呵呵,,,,,";var reg = '\B呵\B';//reg匹配中间的呵,其两侧都是字符,中间的位置为非单词边界。
复制代码
3.统计以“,”分割的元素中“3”的个数
  1. var test = "137,1,33,4,3,6,21,3,35,93,2,98"; var count = test.match(test, "\b3\b").length; //结果:2
复制代码
4.千分位分割数字,将输出成7,654,321这样的格式
  1. '7654321'.replace(/\B(?=(\d{3})+(?!\d))/g,',')//7,654,321(匹配末尾是非数字,中间是连续3位数字整倍数的非单词边界)'99893'.replace(/\B(?=(\d{3})+$)/g, ',')// '99,893'
复制代码
5.手机号344分割
  1. '12345678901'.replace(/\B(?=(?:\d{4})+$)/g, '-')// '123-4567-8901'
复制代码
总结

到此这篇关于正则表达式中边界\b和\B的文章就介绍到这了,更多相关正则表达式边界\b和\B内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

来源:http://www.jb51.net/article/225331.htm
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
打赏鼓励一下!
回复

使用道具 举报

回帖中禁止出现的内容,违者将被直接永久禁止访问,删除ID处理 :1.违反法律法规 ,包括但不限于出现带有政治、色情、暴恐信息等内容;2.恶意攻击内容,包括但不限于:恶意攻击党和政府、辱骂跟帖者、攻击主题发布者、不服从论坛管理、挑衅管理者、挑战版规等;3.广告、推广内容,尤其出现带有病毒、恶意代码、广告链接等内容,包括但不限于:QQ号、文字QQ号、微信号、手机号、文字手机号、第三方网址、单位公司名称、网站名称等;4.回帖贴出该主题隐藏资源链接或其它主题隐藏资源链接的行为。

浏览排行

(38463)2019-11-5 公共云钱包资金盘骗局揭秘: 网络传销+原始股骗局合体!

(22233)2019-12-20 12月17日 邓智天法院直播庭审疑问全解答!

(20722)2019-12-1 环保币GEC资金盘骗局最新消息: 即将崩盘!

(17244)2019-11-9 巨胸肥臀大长腿,嫩模糯美子真人COS不知火舞福利污图

(15868)2018-12-24 罗田县人民法院公布【第五批失信被执行人名单】 ...

(14972)2019-11-3 曝光!PTFX已经崩盘跑路,投资者血流成河!

(13018)2019-8-7 湖北电力网上缴费,支付宝绑定户号的初始密码是什么?

(12480)2018-10-17 罗田县人民政府“12345”市民服务热线服务指南

(11170)2019-12-11 公安定性了, 趣码是非法传销! 趣码怎么退回365元?

(11081)2019-12-15 满足你对女同事的幻想 风骚秘书阿朱销魂眼神勾魂摄魄

最新发表

[升平网络工作室]2025-8-23 [2025-08-23]罗田天气预报

[升平网络工作室]2025-8-23 西藏自治区成立60周年庆祝大会隆重举行 习近平出席大会

[升平网络工作室]2025-8-23 县委委员会召开查摆问题整改整治情况汇报会

[爱查小程序]2025-8-22 [爱查]在线听音乐操作说明

[升平网络工作室]2025-8-22 [2025-08-22]罗田天气预报

[升平网络工作室]2025-8-22 习近平率中央代表团抵达拉萨出席西藏自治区成立60周年庆祝活动

[升平网络工作室]2025-8-22 县关工委联合经济开发区开展“情系学子”助学活动 助力职工子女圆梦大学

[升平网络工作室]2025-8-21 2025年罗田县卫健系统赴高校公开招聘事业单位工作人员拟聘用人员公示公告

[升平网络工作室]2025-8-21 [2025-08-21]罗田天气预报

[升平网络工作室]2025-8-21 县安防委2025年度第三次全体(扩大)会召开

QQ|Archiver|手机版|小黑屋|资讯论坛BBS.SPW8.CN ( 鄂ICP备2021011341号-3 )|网站地图


手机扫一扫继续访问
[免责声明]
本站系本网编辑转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。
如涉及作品内容、版权和其它问题,请在30日内与本网联系,我们将在第一时间删除内容!
[声明]本站文章版权归原作者所有 内容为作者个人观点 本站只提供参考并不构成任何投资及应用建议。

进入社区 | 发表新帖 | 百度收录 |
技术提供:罗田县升平网络工作室
站长Email:admin@spw8.cn
投诉电话(刮开查看):15374567400

GMT+8, 2025-8-23 16:59 , Processed in 0.286969 second(s), 30 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表