zoukankan      html  css  js  c++  java
  • 正则基础 零宽断言

    代码要多敲 注释要清晰

    #零宽断言
    import re
    
    #零宽断言
    #(?=exp)零宽度正预测  先行断言
    #先行断言的执行步骤从要匹配的字符的最右端找到第一个ing,
    #再匹配前面的表达式,如果无法匹配则查找第二个ing
    pattern = re.compile(r'[a-z]*(?=ing)')
    s = pattern.findall('I love cooking and singing')
    print(1,s)#1 ['cook', '', 'sing', '']
    
    #(?<=exp)零宽度正回顾 后发断言
    #匹配abc开头的字符串后面部分
    pattern = re.compile(r'(?<=abc).*')
    s = pattern.findall('abcdefgh')
    print(2,s)#2 ['defgh']
    
    #(?!exp) 零宽度负预测 先行断言
    #匹配不连续包含字符串abc的单词 用serach或者match方法查看分析
    pattern = re.compile(r'((?!abc)w)+')
    s = pattern.search('abc123,ade123')
    print(3,s.group())# 用findall的方法3 ['3']是列表  用search的方法3 ade123是字符串
    
    #(?<!exp)零宽度负回顾后发断言
    #匹配前面不是小写字母的连续七位数字
    pattern = re.compile(r'(?<![a-z])d{7}')
    s = pattern.findall('1sa14641482418sfda')
    print(4,s)
    
    #练习 下面有点复杂 可用其他方法拿取python 爬虫
    # s = pattern.search('<div> python 爬虫</div>')
  • 相关阅读:
    vue过滤器filters
    vue指令
    java命令
    mysql的information_schema表
    es6 Object的keys values entries方法
    mysql information_schema.INNODB_TRX
    流动相似性例子
    【转】time 模块详解(时间获取和转换)
    查找——平衡二叉树的实现(代码超详细注释)
    py中变量名的“秘密”
  • 原文地址:https://www.cnblogs.com/zhangboblogs/p/8570544.html
Copyright © 2011-2022 走看看