学习正则(第二天)位置匹配

简介: 学习正则(第二天)位置匹配

01. 匹配开头:脱字符(^)


001. 是否符合开头(匹配)

正则:/^he/gm

正例:helloworld

反例:worldhello

说明:如下图所示,正例字符串符合已he开头,成功命中。

1.png

002. 开头插入字符(替换)

正则:/^/gm

待替换字符:helloworld

替换结果:

网络异常,图片无法展示
|

2.png


02. 匹配结尾:美元符($)


001. 是否符合结尾(匹配)

正则:/ld$/gm正例:helloworld反例:worldhello说明:如下图所示,正例字符串符合已ld结尾,成功命中。

3.png

002. 结尾插入字符(替换)

同开头插入字符


单词\非单词边界:\b、\B


\b单词边界指的就是单词字符\w和非单词字符\W之间的位置,也包含单词字符到有脱字符的开始位置和单子字符到有美元符的结束位置,\B反之,具体看下图进行理解:

4.png

6.png


03. 命中p的前面位置:(?=p)


正则:/(?=o)/gm

说明:如下图所示,成功找到字符串中每个o前面的位置。

7.png


04. 命中除了p前面的其他位置:(?!p)


正则:/(?!e)/gm

说明:如下图所示,成功找到字符串中除了e前面的其他位置。

8.png

如下图整理了正则中的位置的图示,因语言兼容版本的问题,更多了可以自行补充一下:

9.png


05. 案例分析:


001. 千分位显示数字

  1. 数字字符表示:\d
  2. 千分位量词:{3}
  3. 位置替换字符:(?=p)
  4. 从末尾往首进行命中


第一版:

10.png

呀?齐了怪了,只匹配到了一个位置?那我们想匹配多次怎么办?使用+呗,但我们要用()进行一下分组;


第二版:

11.png

现在可以看到匹配的位置多余命中了首位,那怎么去除呢?试试这个(?!^)


第三版:

12.png


最终正则的图示:

13.png


稍加扩展:当我们的字符串的内容稍加改变后,我们上面的正则将变得不那么顺手,请看下图:

14.png


那这个问题又该怎么办呢?开始的控制开始和结束的位置变的失效了,我们分析一下,字符串中每个1的前面和8的后面都属于单词的边界,那我用使用\B来匹配非单词的边界即可,每组结束的位置又是单词边界我们用\b表示,请看如下图:

15.png

16.png

17.png


欢迎关注我的公众号“前端小鑫同学”,原创技术文章第一时间推送。


位置匹配我们就先学到这,赶紧抄起以前代码中的正则用下面的工具试试看吧,XDM🤭。以上内容学习自老姚的正则表达式迷你书v1.1版,因部分内容还没能理解,还请阅读原著多多学习。


相关文章
|
前端开发 搜索推荐 API
webpack和vite devServer的进阶用法:配置proxy修改请求和响应
在前端日常开发中我们一般都是配置本地开发服务器的proxy来解决跨域问题,查看官网文档或者通过搜索引擎搜出来的都是比较基础的用法。
2496 0
|
存储 监控 大数据
阿里云实时计算Flink在多行业的应用和实践
本文整理自 Flink Forward Asia 2023 中闭门会的分享。主要分享实时计算在各行业的应用实践,对回归实时计算的重点场景进行介绍以及企业如何使用实时计算技术,并且提供一些在技术架构上的参考建议。
1369 7
阿里云实时计算Flink在多行业的应用和实践
|
缓存 运维 负载均衡
java面试题之个人对正向代理和反向代理的理解
java面试题之个人对正向代理和反向代理的理解
1229 3
|
12月前
|
数据可视化 数据挖掘 BI
没办法用Trello?其实有更聪明的替代方案!
在快节奏的工作环境中,Trello作为一款广受好评的项目管理和任务协作工具,凭借其直观的看板界面赢得了全球用户的青睐。然而,由于访问受限、数据安全和本土化资源不足等问题,Trello在国内的实际使用面临诸多挑战。为此,板栗看板(Banli)应运而生,作为一款专为国内市场开发的工具,板栗看板不仅在功能上媲美Trello,还在访问稳定性、自定义选项、智能提醒、数据分析和权限管理等方面进行了优化,特别适合中国团队和企业的实际需求。
353 0
|
缓存 前端开发 UED
前端优化:首屏加载速度的实践
随着互联网技术的飞速发展,前端网页逐渐取代了传统客户端成为用户获取信息、进行交互的重要渠道,但是网页也有常见的弊端,比如网页首屏加载速度的快慢直接影响着用户体验,那么如何提升网页的首屏加载速度,成为了前端开发者必须面对的问题。本文将从多图片懒加载、避免用户多次点击请求以及骨架屏原理等方面,简单分享一下前端优化首屏加载速度的策略优化。欢迎大家在评论区留言交流。
280 2
前端优化:首屏加载速度的实践
|
数据采集 JSON 前端开发
JavaScript逆向爬虫实战分析
JavaScript逆向爬虫实战分析
187 4
|
存储 数据管理 数据库
现代数据库技术中的分布式一致性问题与解决方案探讨
分布式系统在现代数据库技术中扮演着重要角色,但分布式环境下的数据一致性问题始终是挑战之一。本文深入探讨了分布式一致性的核心概念、各种一致性模型的特点及其在实际应用中的优缺点,旨在为技术从业者提供全面的视角和实用的解决方案。
|
JSON 小程序 JavaScript
微信小程序开发笔记—底部导航栏tabar
本文介绍了微信小程序开发中底部导航栏的设计方法,步骤详细,非常适合初学的小伙伴!
990 0
|
移动开发 JavaScript 前端开发
基于CSS3、原生JS、Vue3.0技术各自实现序列帧动画效果
这篇文章展示了如何使用纯CSS3、原生JavaScript以及Vue 3.0技术来实现序列帧动画效果,并通过代码示例和动画效果展示了每种方法的实现过程和最终效果。
430 0
|
开发工具 git 开发者
git 解决(master|REBAS1/1)
git 解决(master|REBAS1/1)
179 0