《python核心编程》学习笔记(一):正则表达式扩展表示法

第一次接触到正则表达式的扩展表示法,云里雾里

(?:\w+\.)*    以句点作为结尾的字符串,例如“google.”、“twitter.”、“facebook.”,但是这些匹配不会保存下来供后续的使用和数据检索

(?#comment)  此处不做匹配,只是作为注释

(?=.com)  如果一个字符串后面跟着“.com”才做匹配操作,并不使用任何目标字符串

(?!.net)  如果一个字符串后面不是跟着“.net”才做匹配操作

(?<=800-)  如果字符串之前为“800-”才做匹配,假定为电话号码,同样,并不使用任何输入字符串

(?<!192\.168\.)  如果一个字符串之前不是“192.168.”才做匹配操作,用来过滤掉一组C类IP地址

(?(1)y|x)  如果一个匹配组1存在,就与y匹配,否则与x匹配

总结来看,四种断言:

正向前行匹配(?=...)  ##以某个字符串结尾

负向前行匹配(?!...) ##不以某个字符串结尾

正向后行匹配(?<=...)  ##以某个字符串开头

负向后行匹配(?<!...)  ##不以某个字符串开头

所谓的前行(lookahead)和后行(lookbehind),其实就是向前看和向后看的意思

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值