鱼C论坛

 找回密码
 立即注册
123
返回列表 发新帖
楼主: 小甲鱼

[扩展阅读] Python3 如何优雅地使用正则表达式(详解五)

  [复制链接]
发表于 2019-11-29 11:35:51 | 显示全部楼层
说实话这一节写的有点水  group  和groups 还是有区别的  前面教程都是group  你这里一上来就是groups
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-1-5 12:12:06 | 显示全部楼层
..错别字能少点就更好了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-24 21:05:02 | 显示全部楼层
这玩意真的难,即便知道了,自己用也不会用
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-25 09:52:33 | 显示全部楼层
肖凯文kevin 发表于 2016-1-31 12:40
re.search(r'.*[.](?!bat).*$','kevin.11bat')
re.search(r'.*[.](?!bat$).*$','kevin.11bat')
为什么我 ...

我也觉得没意义 因为后面还有东西。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-25 10:10:35 | 显示全部楼层
本帖最后由 ArmandXiao 于 2020-2-25 10:14 编辑

抱歉 我刚刚的回答应该是错的。 这两个是有区别的
print(re.search(r'.*[.](?!bat).*$','kevin.bater'))
print(re.search(r'.*[.](?!bat$).*$','kevin.bater'))
你可以尝试一下这两个代码,他们是有区别的。
第一个返回 None
第二个返回 <_sre.SRE_Match object; span=(0, 11), match='kevin.bater'>

而你通过分析这个正则 你也可以发现 [.](?!bat$) 匹配 bat前面只能有一个 .,不能有多的字符。
否定的是这个意思:“这跟前向肯定断言相反(不匹配则表示成功,匹配表示失败)”
匹配则失败 你可以看看 第一个 因为 bat 不是最后一个 匹配了 所以失败了 返回 None
而第二个 因为bat不是最后一个 不匹配 所以成功了 返回object

或者用你的 bat前面加了俩数字
你可以把代码改成
print(re.search(r'.*[.]\d\d(?!bat).*$','kevin.11bater'))
print(re.search(r'.*[.]\d\d(?!bat$).*$','kevin.11bater'))
你会发现 第一个返回了 none 第二个返回了 object 原因是一样的 因为 bat不是在最后一个 第一个缺了 $ 符号!!
加油大佬们
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-22 14:45:03 | 显示全部楼层
开始晕了~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-6 14:18:50 | 显示全部楼层
厉害啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-14 11:05:03 | 显示全部楼层
排除后缀名这个真的很叼
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-5-10 08:58:41 | 显示全部楼层
前向断言确实有用   ?:非捕获组    ?P<name>命名组  ?=前向肯定断言  ?!前项否定断言
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-3-13 22:22:09 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-6-15 18:31:30 | 显示全部楼层
越往后越难一些
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-2 04:41

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表