正则表达式

正则表达式


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


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


限定符(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}$


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



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

如何禁止贪婪?



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


结尾:



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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

五花肉三七分

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值