关于正则表达式的一些基础知识

2021/03/28 JavaScript 共 676 字,约 2 分钟

背景

正则用的少,或者说几乎不用,但是实现有些需求的时候非他不可,或者说用它可以复杂的代码简单化。所以我认真的学习了一番

遇到正则问题怎么办

  1. 做分解,把大问题拆分成几个互相独立的子问题

  2. 分析子问题,把子问题都解决了

  3. 组装调试

有一个前提是我们对基本的概念原理都熟悉,然后按照思路去,难度系数直线下降

但是正则实现的时候,我们需要注意几个小点,最好尽量少用正则处理问题,除非没办法的,正则尽量简单,可读性强,有注释让人能够理解

说到底就是正则的各种验证/查找/替换/切割,有些api本身就支持了封装的蛮好的,所以我们就可以不用在自己去写一遍了,直接调用已有的api就很好了呀。

概念

元字符

测试链接

图片地址

匹配模式

图片地址

使用正则

多分支选择的时候都是左边的优先级高

括号在正则中用于分组,被括号包起来的部分叫子表达式,会被保存为一个组(子组),供后面的使用,只需要数左括号,第几个括号就是第几组。默认是为了后面可以再次引用($1: 第一个分组,$2: 第二个分组)

如果我们只是想使用括号表示是一个整体,并不需要被后面使用,可以在括号里面使用 ?: 不保存子组

模式修饰符是可以通过(?i)或者(?g)等实现的例如:忽略首字母的大小写 /(?i)mabuy/

\b : 单词的边界

: 管道符合,或者的意思

(?<=Y): 左边是Y

(?<!Y): 左边不是Y

(?=Y): 右边是Y

(?!Y): 左边不是Y

左尖看左边,反之亦然

转译

\d 在正则中表示单个数字,如果想要表示反斜杠和字母d,就需要加\进行转义即\d

元字符(*+?)如果需要转义,就需要在前面加反斜杠\

() 转义需要在每个半边括号前面加反斜杠\


在技术的历史长河中,虽然我们素未谋面,却已相识已久,很微妙也很知足。互联网让世界变得更小,你我之间更近。

在逝去的青葱岁月中,虽然我们未曾相遇,却共同经历着一样的情愫。谁的青春不曾迷茫或焦虑亦是无奈,谁不曾年少过

在未来的日子里,让我们共享好的文章,共同学习进步。有不错的文章记得分享给我,我不会写好的文章,所以我只能做一个搬运工

我叫 sunseekers(张敏) ,千千万万个张敏与你同在,18年电子商务专业毕业,毕业后在前端搬砖

如果喜欢我的话,恰巧我也喜欢你的话,让我们手拉手,肩并肩共同前行,相互学习,互相鼓励

文档信息

Search

    Table of Contents