2021-05-08

Posted 前端世界升级打怪

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2021-05-08相关的知识,希望对你有一定的参考价值。

正则表达式


正则表达式,又称规则表达式。计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。


正则表达式的一些符号语法:


限定符(Quantifier)



a* : a出现0次或多次
a+ : a出现1次或多次
a? : a出现0次或1次
a{6} : a出现6次
a{2,6} : a出现2-6次
a{2,} : a出现两次以上


或运算符(OR Operator)



(a|b) : 匹配a或者b
(ab) | (cd) : 匹配ab或者cd


字符类(Character Classes)



[abc]: 匹配a或者b或者c
[a-c] : 同上
[a- fA-F0-9]: 匹配小写+大写英文字符以及数字
[^0-9] : 匹配非数字字符


元字符(Meta-characters)



\\d : 匹配数字字符
\\D : 匹配非数字字符
\\w : 匹配单词字符(英文、数字、下划线)
\\W : 匹配非单词字符
\\s : 匹配空白符(包含换行符、Tab)
\\S : 匹配非空自字符
.  : 匹配任意字符(换行符除外
\\ bword\\ b \\b : 标注字符的边界 (全字匹配)
^ : 匹配行首 ^a 行首的a
$ : 匹配行尾 $a 行尾的a


贪婪/懒惰匹配(Greedy / Lazy Match)



<. +> : 默认贪婪匹配“任意字符”
<.+ ?> : 懒惰匹配“任意字符”



实例:



在前端中,最早用到正则表达式的,也是最常见的就是写一个表单验证了
1:正则匹配密码:
至少8个字符,至少1个大写字母,1个小写字母和1个数字:

^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)[a-zA-Z\\d]{8,}$

2:正则匹配用户名:
3到15个字符,只能包含小写字符,数字或特殊符号“ _-”

^[a-z0-9_-]{3,15}$


正则表达式中贪婪模式与非贪婪模式



贪婪匹配:正则表达式一般趋向于最大长度匹配,也就是所谓的贪婪匹配。
非贪婪匹配:就是匹配到结果就好,就少的匹配字符。

如何禁止贪婪?



默认是贪婪模式;在量词后面直接加上一个问号?就是非贪婪模式。


结尾:



实际总结的还不够完整,希望路过的看官能加以补充。

以上是关于2021-05-08的主要内容,如果未能解决你的问题,请参考以下文章

2021-05-08论文

2021-05-08

2021-05-08

2021-05-08

2021-05-08

2021-05-08