正则表达式快速入门

限定符


代表前面一个字符出现0次或1次

例子:dj?
d 匹配
dj 匹配
djjj 不匹配


*
代表前面一个字符可以出现0次或任意次

例子:abc
ac 匹配
abc 匹配
abbbc 匹配
adc 不匹配*


+
代表前面一个字符出现1次及以上
例子:ab+c
ac 不匹配
abc 匹配
abbbc 匹配
adc 不匹配


限定字符出现次数
ab{3}c 代表b出现3次
ab{3,6}c 代表b出现3到6次
ab{3,}c 代表b出现3次及以上

想同时对多个字符限定时用括号括起来
a(bc){2}d 代表bc出现2次


或运算

|
匹配两者中的任意一个

例子: a (lot|llittle)
a lot 匹配
a little 匹配
a apple 不匹配


字符类

[ ]
匹配的字符只能取自[ ]中的字符

例子:
[abc]+ 只能匹配由abc中的字母组成的字符串
[a-z]+ 只能匹配小写字母组成的字符串
[a-zA-Z0-9]+ 只能配小写字母大写字母数字0到9组成的字符串

^ 代表要求匹配除尖号后面列出的以外的字符
[^0-9] 只能匹配非数字字符


元字符

\d
代表数字字符
相当于[0-9]

\w
代表单词字符,即所有英文字符加数字加下划线

\s
代表空白符
同时包含 Tab字符和换行符

\D
代表非数字字符

\W
代表非单词字符

\S
代表非空白字符

.
代表任意字符
但不包括换行符

^匹配行首    $匹配行尾
^a   只会匹配行首的a
b$  只会匹配行尾的b

贪婪与懒惰匹配

例子: <.+>
字符串:<span><b>This is a test</b></span>
这将会匹配整个字符串 因为<也在任意字符范围内 所以默认贪婪匹配将匹配整个字符串

在这里插入图片描述

例子: <.+?>
字符串:<span><b>This is a test</b></span>
加了?后会将贪婪匹配切换为懒惰匹配
结果如下

在这里插入图片描述

实例部分

1.匹配RGB颜色值
#[a-fA-F0-9]{6}\b
#号开头
颜色值只能包含a-f A-F 0-9这些字符 且只有6位
末尾加入\b来代表单词字符的边界

提示:不加\b的话 #ffffffffff也会匹配成功
在这里插入图片描述
2.匹配IP地址
((25[0-5]|2[0-4]\d|[01]?\d\d?).){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)\b

先匹配一段
如果是25开头,第三个只能是0-5中的数字
如果是20到24开头,第三个可以是任意数字
如果是0或1开头,第二个和第三个可以是任意数字
由于位数可以是1位或两位所以写成[01]?\d\d?或[01]?\d?\d
在数字后面加上点号.
重复三次

最后再来一组和前面一样规则的数字

总结
在这里插入图片描述

以上是视频的总结,这个视频更详细哦
GitHub上的学习资料
学习资料
这个要梯子
正则表达式验证网站

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值