比较详细的正则表达式

正则表达式多用于过滤敏感字符之中,看见经常让人头疼,这几天期末考试,趁机学了一下,并整理了一下,算是干货吧

目录

基础

字符组

快捷方式

特殊符号

匹配多个数据

进阶

分组

回溯引用

先行断言

后行断言


基础

字符组

[Pp]ython匹配Python或python

[0-9]匹配任意数字 [^0-9]不匹配数字

[a-zA-Z]匹配任意字母

[0-9a-zA-Z]匹配数字大小写字母

[0-9\-]匹配0-9和-用转义符隔开

注:如果后面还有的话,则[]中的字符只选择一个

快捷方式

[\d]匹配所有数字[\D]匹配所有非数字下面同理

[\w]匹配所有数字大小写

[\s]匹配空白字符,空格,tab,换行等

[\b]匹配单词边界,从很长的一堆里面匹配单个东西

特殊符号

^匹配开头         ^python匹配开头是python的字符

$匹配开头         python$匹配结尾是python的字符

.匹配任意字符,但是换行符不能匹配

.匹配任意长度字符...匹配三个一组的字符

?匹配可以出现可以不出现hah?a

匹配多个数据

\d{9}匹配所有由9个字符构成的数字

\d{8}{9}匹配由8个或9个构成的数字

\d{8}{9}?匹配到8个构成的数字

\d{3,}匹配三个以上的数字

特殊地

*表示{0,} +表示{1,}

进阶

分组

捕获分组

用括号只提取括号内的东西

(\d{3})-(\d{4})

123-4567

只提取了1234567

非捕获分组

回溯引用

<(\w+)>(.*?)</\1>匹配<a>与<a>之间的字符

后面的1与前面的\w+相等

先行断言

简单例子:haha(?=ha)只会匹配到hahaha前面的haha

(?=.?*)[a-z].+(?=.*?)[A-Z].+
表示所匹配的字符串中至少包含一个大小写

后行断言

简单例子:(?<=a)hello(?=b)就匹配到ahellob中的hello

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值