简介
正则表达式是绕不开的,正则的强大是众所周知的,学会它对我们的编程也是有大大的帮助
模糊匹配
正则表达式之所以强大,就要归功于它的模糊匹配,不能可以匹配不同数量的字符串,还可以匹配不同内容的字符串。如果正常只能精确匹配字符串,那正则的效果就没有啥用了比如:/a/就匹配一个a字符。
用于匹配字符串长度的横行匹配
匹配的字符串长度是不固定的,如图所示:
用于匹配字符串多种情况内容的纵向匹配
匹配的字符串的内容是几种情况中的一种,如图所示:
字符组
我们在写正则匹配的时候,在一个位置上,比如一个字符串的某个索引上可能的值有很多个,假设就是abc其中一个字母。那么我们就需要用到字符组,大概的意思就是一组字符中的其中一个。
- 表示一个位置可能出现的多种情况,正则表示
/[abc]/
,图解如下:
- 表示一个范围取值,也是多种情况取其一,正则表示
[1-6a-f]
,图解如下:
在表示范围这里需要注意下,有时我们需要匹配的就只是表示范围的三个值比如:a
-
f
那我们的正则就不能[a-f]
这样写了,需要像这样写:
[-af]
[-fa]
[a-f]
- 排除部分值,也就是说把不要的值写出来,正则
[^abc]
表示排除abc其中之一,图解如下:
- 常见的几种简写方式
- \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]
量词
简写形式
- {m,}至少出现m次,m是一个数量。比如a{9,}表示a至少出现9次,如图
- {m} = {m,m} = 出现m次。比如a{9}表示a出现9次,如图:
- ? = {0,1} = 不出现或出现一次。比如a?表示a不出现或者出现1次,如图:
- + = {1,} = 至少出现1次。比如a+表示a至少出现1次,如图:
- * = {0,}= 出现任意多次。比如a*表示a出现任意多次,可能很多,也可能一次没出现,如图:
多条分支
也是表示多种情况中的一种用|
来表示,比如:a|b|c,表示abc其中之一,如图:
小结
以上就是学习正则的初步理解和图示,用图来表示正则非常好理解,欢迎大家查阅,有问题请指出,觉得不错,可以给个赞,谢谢!!!