最讨厌的正则表达式---断言

import re


"""
前向断言-判断是否=或!一个pattern向前匹配:(?<=pattern)   (?<!pattern) 

后向断言-判断是否=或!一个pattern向后匹配: (?=pattern)      (?!pattern) 

=则表示肯定断言,即-包含什么                
!则表示否定断言,即表示-不包含什么
"""
# 匹配句子中任意文字(不要用.)
# 剔除后边带有他的所有字符串
one = '爱就是爱,我爱你,你爱我他,这就是爱,他爱他他。'
for i in re.finditer(r'\w+(?<!他)', one):
    print(i)


two = '{student} {one} {agent}'
# 判断单词前边没有a或s后边没有t或e则取中间的字符
for i in re.findall(r'(?!a|s)[a-z]+(?<!t|e)', two):
    print(i)

# 判断单词前边不能有st后边不能有nt并取中间的字符
for i in re.findall(r'(?![st])[a-z]+(?<![nt])', two):
    print(i)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值