• 正则表达式日常笔记


    正则要点一:

    Python中正则表达式中r的定义:
        特殊字符  -->  普通字符   例: 
      转换成普通字符
          编程语言:  
     ---->  \n
           正则匹配: 
     ---->   \n
    对于Python中的正则匹配的转义需要经过两层
         特殊字符 --> 编程语言 --> 正则匹配 --> 普通字符
    添加了r后的: re.findall(r'\n','\n')
        特殊字符 --> 正则匹配 --> 普通字符
    
    r的含义是Python的内置替代编程语言的转义

    正则中在查找的字段前或后添加新内容:

    方法一

    str = '123.jpg, 456.jpg, 789.jpg'
    b = re.sub('(?P<data>d+.jpg)',r'sdf\g<data>', str)
    print(b)
    
    结果:sdf123.jpg, sdf456.jpg, sdf789.jpg

    方法二

    def double(matched):
        value = matched.group('value')
        return str( 'sdd/' + value)
    s = '567'
    print(re.sub('(?P<value>d+)', double, s))  #1.在第二参数中,可以添加字符串或函数 2.?P<value>的意思就是命名一个名字为value的组,匹配规则符合后面的/d+
    
    结果:sdd/567

    在匹配 在内的其他字符:

    import re
    
    #在res字符串中,除了有 
     ,还有空格,tab键
    res = '''
        dd
        fd
        e
        '''
    result1 = re.findall('dd*e',res)    
    result2 = re.findall('dd[sS]*e',res)
    print(result1)
    print(result2)

    结果:

        []
        ['dd fd e']

    对应学习参考:https://baike.baidu.com/item/%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F/1700215?fr=aladdin

        

    匹配重复单词:

    import re
    s2 = 'appleapple56tototowidth'
    p = re.compile(r'(w+)1+')    #1表示使用编号为1的分组    
    #p = re.compile(r'(w+)1{1,}') 匹配重复单词的次数 {1,}代表2次以上(包括2) 在此{}中特殊性 print(p.findall(s2))

    结果:['apple', 'to']
  • 相关阅读:
    最少代码的瀑布流实现
    GoLang代码规范
    wcf基础知识之ListenUri和ListenUriMode实现 逻辑地址和物理地址的分离
    STL学习笔记 string
    Bitbucket上使用SSH协作
    使用注册表文件(REG)添加、 修改或删除注册表子项和值
    《大话设计模式》Python版代码实现
    go windows 32位环境搭建
    借书场景领域建模分析
    E/R模型学习
  • 原文地址:https://www.cnblogs.com/tang-s/p/9674732.html
Copyright © 2020-2023  润新知