python中正则表达式零宽断言_程序员入门基础:python正则表达式的零宽断言

一、零宽断言

此篇文章为python正则表达式的高阶入门,正则基础入门请参考程序员入门基础:python的正则表达式。

断言也可以理解为判断的意思,正则表达式中有很多这样的断言,常见的如 ^ 和 /A,匹配字符串或者行的末尾 $ 和 /Z,单词边界/B等等。

零宽断言是并不去真正的匹配字符串文本,而仅仅是匹配对应的位置,断言本身并不匹配,因为匹配的宽度为零,故零宽。当然零宽断言还有各种叫法,如环视、预搜索等。

常见的零宽断言有四种形式,即正向肯定,正向否定,负向肯定,负向否定。

二、正向肯定

格式:(?=exp),正向(向右)匹配位置,但不计入结果

import re

#(?=dog)位置开始匹配,但不计入匹配结果

print("匹配开始位置dog:",re.search(r'(?=dog)dogeat',"dogeat@homework"))

#dog(?=eat)位置开始匹配,但(?=eat)不计入匹配结果

print("匹配开始位置eat:",re.search(r'dog(?=eat)eat',"dogeat@homework"))

#注意dog(?=homework)实际等于doghomework与原字符串不同,不可匹配

p

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值