学习正则(第一天)字符匹配

简介: 学习正则(第一天)字符匹配

01. 可以干什么?


  1. 匹配模式
  2. 匹配字符
  3. 匹配位置


02. 模糊匹配-横向匹配


待匹配的字符长度不固定,关联概念为量词({m,n}),表示某个字符重复出现m~n次后被命中。

正则:/hel{1,2}o/gm

1.png

说明:待匹配的字符串内容命中规则为heo中间包含最少1个l和做多2两个l

匹配正例:helohello

匹配反例:heo``helllo

2.png


03. 模糊匹配-纵向匹配


待匹配的位字符串内容不固定,关联概念为字符组([abc]),表示某个位置出现的字符为给定返回中的一个后被命中。

正则:/ab[0-9]cd/gm

3.png

说明:待匹配的字符串内容命中规则为abcd中间包含一个数字。

匹配正例:ab1cd匹配反例:abbcdab12cd

4.png


04. 认识字符组


我们需要命中的字符在一个范围内的表示方法是:
  1. 指定几个,如:[abc]。

5.png

  1. 指定范围,如:[0-9],[a-z],[A-Z]。

6.png7.png8.png

  1. 包含特殊符号,如:[-ab],[ab-],[A-Z],均表示需要命中的内容为两个字符和-其中一个即可。

9.png10.png11.png


我们需要命中的字符不在这个范围内的表示方法是(使用^脱字符标记):
  1. 非指定几个,如:[^abc]。

12.png

  1. 非指定范围,如:[^0-9],[^a-z],[^A-Z]。

13.png14.png15.png


字符组简写表:
简写 范围表示 说明
\d [0-9] 匹配数字
\D [^0-9] 匹配非数字
\w [0-9a-zA-Z_] 匹配单词字符
\W [^0-9a-zA-Z_] 匹配非单词字符
\s [ \t\v\n\r\f] 匹配空白符,空格,水平/垂直制表符,回车,换行,换页
\S [^ \t\v\n\r\f] 匹配非空白符
. [^\n\r\u2028\u2029] 匹配非回车,换行,行分隔符,段落分隔符

仔细看一下这几个单词,你一定能一次性全记住。我们通常会使用[\w\W]来表示任意字符,当然[\d\D],[\s\S],[^]也都可以,有的情况可以用.来充当任意字符💀。16.png


05. 认识量词


量词决定了我们字符要被命中的次数。

量词(贪婪) 表示 量词(惰性)
{m,n} 表示最少命中m次,最多命中n次。 {m,n}?
{m,} 表示最少命中m次。 {m,}?
{m} 表示命中次数为m次。 {m}?
? 表示命中一次或者不命中。 ??
+ 表示至少命中1次。 +?
* 表示命中任意次数,可以不命中。 *?

贪婪模式:越多越好,多多益善。

惰性模式:够用就好,知足常乐。


上表中的图示:17.png


06. 认识管道符|


命中给的的模式中的一种即可,需要注意的是正则中的管道符也为惰性匹配,够用就好。18.png


可以看到,似乎最符合的是右边的helloworld,但是优先命中左边的hello后就停止了,那我们想要匹配到最想要的那个怎么办呢,看下图后先思考一下🤔。

19.png


字符匹配我们就先学到这,赶紧抄起以前代码中的正则用下面的工具试试看吧,XDM🤭。


相关文章
|
JavaScript 前端开发
JS正则表达式:常用正则手册/RegExp/正则积累(一)
JS正则表达式:常用正则手册/RegExp/正则积累
120 1
|
存储 JavaScript 安全
JS正则表达式:常用正则手册/RegExp/正则积累(二)
JS正则表达式:常用正则手册/RegExp/正则积累
102 0
|
PHP 开发者
你见过这些正则表达式中奇奇怪怪的匹配模式吗 _ 贪婪匹配、懒惰匹配 、禁止贪婪匹配!
一篇文章让你清楚的了解正则表达式中奇奇怪怪的匹配模式-- 贪婪匹配、懒惰匹配 、禁止贪婪匹配!
88 1
你见过这些正则表达式中奇奇怪怪的匹配模式吗 _ 贪婪匹配、懒惰匹配 、禁止贪婪匹配!
|
7月前
|
JavaScript 前端开发
扩展正则量词
扩展正则量词
33 1
|
7月前
|
Java
每日一刷《剑指offer》字符串篇之正则表达式匹配
每日一刷《剑指offer》字符串篇之正则表达式匹配
74 0
每日一刷《剑指offer》字符串篇之正则表达式匹配
|
vr&ar
正则表达式中的量词
正则表达式中的量词
86 0
|
JavaScript
剑指offer 18. 正则表达式匹配
剑指offer 18. 正则表达式匹配
58 0
|
数据可视化 前端开发 JavaScript
学习正则(第三天)看懂括号
学习正则(第三天)看懂括号
143 0
学习正则(第三天)看懂括号
|
前端开发
学习正则(第二天)位置匹配
学习正则(第二天)位置匹配
114 0
学习正则(第二天)位置匹配
正则表达式懒惰贪婪和replace函数
正则表达式懒惰贪婪和replace函数