利用正则匹配数字后边的字符_图解正则——字符匹配

本文介绍了正则表达式的基础知识,包括模糊匹配的概念,字符组的使用,量词的简写形式,以及多条分支的匹配规则。通过实例展示了如何进行字符串长度的横行匹配和多种内容的纵向匹配,帮助读者理解正则的强大之处。

简介

正则表达式是绕不开的,正则的强大是众所周知的,学会它对我们的编程也是有大大的帮助

模糊匹配

正则表达式之所以强大,就要归功于它的模糊匹配,不能可以匹配不同数量的字符串,还可以匹配不同内容的字符串。如果正常只能精确匹配字符串,那正则的效果就没有啥用了比如:/a/就匹配一个a字符。

用于匹配字符串长度的横行匹配

匹配的字符串长度是不固定的,如图所示:

7d8a392c7b2dcbc92fe7d013df2287dd.png

用于匹配字符串多种情况内容的纵向匹配

匹配的字符串的内容是几种情况中的一种,如图所示:

1d751b8ddca4ec52e754760f6b4a85d2.png

字符组

我们在写正则匹配的时候,在一个位置上,比如一个字符串的某个索引上可能的值有很多个,假设就是abc其中一个字母。那么我们就需要用到字符组,大概的意思就是一组字符中的其中一个。

  • 表示一个位置可能出现的多种情况,正则表示/[abc]/,图解如下:

c47cb075150f193030512012e064a9a6.png
  • 表示一个范围取值,也是多种情况取其一,正则表示[1-6a-f],图解如下:

8abb5aeb0a8549e73eb475eabe498c11.png

在表示范围这里需要注意下,有时我们需要匹配的就只是表示范围的三个值比如:a - f 那我们的正则就不能[a-f] 这样写了,需要像这样写:

[-af]

c43a348014e28ebc84a997670bde992f.png

[-fa]

0f42bb5f639fa921b7321dd0576b875d.png

[a-f]

03ff5ecbf301b2a8cc760060a47dff26.png
  • 排除部分值,也就是说把不要的值写出来,正则[^abc]表示排除abc其中之一,图解如下:

1a56f9fc802e0bd743a2b8857d8fcc94.png
  • 常见的几种简写方式
  1. d = [0-9]

be3358c1c546435e41b87e3669a85464.png

16ef977b5dcdb41798c4cd7ef9bd77a6.png
  1. D = [^0-9]

9e08308bbf9c072773f3fe9d79b551d2.png

9ff82279ea39b4e806336556f765c8b2.png
  1. w = [0-9a-zA-Z_]

75d87baf00003f550ad2fcd32bc5649b.png

c9ff5d7c229439aac6b26d4b6b09e0d0.png
  1. W = [^0-9a-zA-Z]

544e7ba14a791180574cb5ec173488d9.png

b7156f1e0f66c07bc06708a36b6c303a.png
  1. s = [tvnrf]

410cbb582e57cb83baa58fb04d84f2cf.png

b7a3085dd9609ffb9478faafef88f00c.png
  1. S = [^tvnrf]

44d94f46c4dff54562673e2e907af70d.png

fb26a029bc928fafe363f78717530075.png
  1. . = [^nru2028u2029]

820406f64c73e29280c01618d92cad43.png

b044d653b5703bb903dfff54bd45e5e0.png

量词

简写形式

  • {m,}至少出现m次,m是一个数量。比如a{9,}表示a至少出现9次,如图

cb1512500077fad7cdab66242fb9eb87.png
  • {m} = {m,m} = 出现m次。比如a{9}表示a出现9次,如图:

519f185c073147acf3fba1406907911c.png
  • ? = {0,1} = 不出现或出现一次。比如a?表示a不出现或者出现1次,如图:

14e5a17c6f0d78057102063d79cc9cfd.png
  • + = {1,} = 至少出现1次。比如a+表示a至少出现1次,如图:

efae535066fff4dd9bb2cdc7cb85e89f.png
  • * = {0,}= 出现任意多次。比如a*表示a出现任意多次,可能很多,也可能一次没出现,如图:

dddb1ae5081d0b3a903f6865b53a90d4.png

多条分支

也是表示多种情况中的一种用来表示,比如:a|b|c,表示abc其中之一,如图:

a56e52fd0983db3423c20017ac9c0c82.png

小结

以上就是学习正则的初步理解和图示,用图来表示正则非常好理解,欢迎大家查阅,有问题请指出,觉得不错,可以给个赞,谢谢!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值