2019/10/29 02-正则的分组断言贪婪非贪婪

在这里插入图片描述
正则表达式可以检索也可以替换在这里插入图片描述
这些元字符基本上每套语言都是一样的
在这里插入图片描述在这里插入图片描述
重复的问题
在这里插入图片描述在这里插入图片描述
数字11位就是手机号在这里插入图片描述在这里插入图片描述
我们只需要把电话号码抠出来,有效性还是需要自己去打电话
剩下两个电话号码怎么提出来,中国城市再小,电话号码也是7位的了,没有6位的了

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
改变成(w|f)ood
在这里插入图片描述
现在就等于food,wood
在这里插入图片描述
项目中需要写正则表达式,先把案例贴过来然后不停地测试,直到合格为止
刚才电话号码可以设定号段在这里插入图片描述
使用小括号代表一个分组,捕获后会有一个分配组号,从1开始,会有优先级的问题
在这里插入图片描述在这里插入图片描述
分组会变,前面的分组是w|f,后面分组是od在这里插入图片描述
这样是只匹配一项在这里插入图片描述
多个空白字符可以这么写
在这里插入图片描述在这里插入图片描述
前面的是会尽量贪婪的
在这里插入图片描述
前面的分组编号是1
在这里插入图片描述
不要分组
在这里插入图片描述
这是匹配不是分组
在这里插入图片描述
现在匹配跟分组是一致的了,多数情况下,匹配往往更长在这里插入图片描述
不要分组就在前面加?问号,group就消失了,表示括号里的分组不要了,但是该匹配匹配在这里插入图片描述
依然匹配wood food,但是分组不要了,
下面的不参与分组等价industry|industries

在这里插入图片描述
这时候food配就有两个分组了
*在这里插入图片描述在这里插入图片描述在这里插入图片描述
命名分组,大多数语言都是在?问号加尖括号加引号,在里面起名字,就不是1,2,3在这里插入图片描述
分组1名字叫head
在这里插入图片描述
命名分组在python中,要在前面大写P

断言

在这里插入图片描述
分组一般在匹配项之内的在这里插入图片描述
断言前面这个形式。,写的这个表达式一定在匹配的右边出现,也就是断言后面一定跟什么
在这里插入图片描述
断言不是分组,断言跟分组没有关系,语言什么之后一定怎么着在这里插入图片描述在这里插入图片描述
他要求f后面一定是ood且等于=,谁后面一定出现了谁在这里插入图片描述
断言只是一个条件,不参与匹配,所以匹配的只是f
在这里插入图片描述在这里插入图片描述
这样代表ood的前面一定有f在这里插入图片描述
断言是条件,只匹配到ood在这里插入图片描述
代表取反,右边一定不能出现这些,左边一定不能出现什么在这里插入图片描述
在后面不能出现数字
在这里插入图片描述
123,456要求匹配项后面不能有数字在这里插入图片描述在这里插入图片描述在这里插入图片描述
匹配food是不允许的
在这里插入图片描述在这里插入图片描述
t是不参与的,只是一个条件
在这里插入图片描述
断言是在python库里支持的,到其他地方一定要注意

注释了解即可
在这里插入图片描述
断言不参与捕获,不占分组号
断言,只是一个条件,只要求匹配满足条件的
分组一般是套个括号,加优先级即可,不想分组,只想要优先级改变,加?:
分组名(?<>)
分组号从1 开始,只有匹配才有分组

在这里插入图片描述
简单意味着易读和高效
在这里插入图片描述在这里插入图片描述
这样就很贪婪在这里插入图片描述
两头不要就要中间的
在这里插入图片描述
非贪婪?匹配任意次,但尽可能少重复,能短则短*在这里插入图片描述在这里插入图片描述在这里插入图片描述
至少一次尽可能短
在这里插入图片描述
匹配的是ab
在这里插入图片描述
尽可能短,b消失了,就是a
在这里插入图片描述在这里插入图片描述在这里插入图片描述
加上问号?就尽可能短
在这里插入图片描述在这里插入图片描述
b+是尽量长的b,加上?,都是每个都尽可能短
在这里插入图片描述
改成*就是可以没有b了,这样就不建议写在这里插入图片描述在这里插入图片描述
贪婪在重复的字符上加
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值