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的主要内容,如果未能解决你的问题,请参考以下文章