• Python 正则表达式



    ## 基本字符匹配
    • s 空白符
    • w 字母或下划线
    • d 任意数字
    • ^ 匹配一行字符串开头
    • $ 匹配一行字符串的结尾
    • * 匹配0个或多个表达式
    • + 匹配一个或多个表达式
    • . 匹配任意字符(除换行符)
    • ? 非贪婪匹配方式
    • a|b 匹配a或b
    • () 子表达式
    • {} 匹配个数

    ## re模块
    ### mathch

    从头开始匹配,开头匹配不成功则匹配失败,适合用来检测字符串是否符合正则表达式的规则

    result = re.match("^Hellosw{10}sddd", "Hello zayn_malik 123")
    print(result.group())  # 输出匹配结果
    print(result.span())  # 输出匹配范围
    
    result = re.match("^Hellos(d+)sw{10}", "Hello 123 zayn_malik 123")
    print(result.group(1))  # 输出括号里子表达式的结果
    print(result.group())
    
    content = '''Hello 1234 puth 
     demo'''
    # re.S使.匹配包括换行符内的所有字符 re.I使大小写不敏感
    result = re.match("^He.*?(d+).*?demo$", content, re.S)  
    
    

    ### search

    扫描整个字符串,返回第一个成功匹配的结果

    html = ''' <ul>
                <li class="active" singer="zayn">Let me</li></ul>
    
    result = re.search('<li.*?singer="(.*?)">(.*?)</li>', content, re.S)
    print(result.group(1), group(2))  # zayn Let me
    
    

    ### findall

    搜索整个字符串,返回符合正则表达式的所有内容


    ### sub

    修改字符串的内容

    content = 'dada13vsnk31231'
    
    result = re.sub("d+", '', content)
    print(content)  # 去掉字符串中的数字
    
    

    ### compile

    将字符串编译为正则表达式对象

    content = "2018-10-31 11:29"
    
    pattern = re.compile("d{2}:d{2}")
    result = re.sub(patter, '', content)
    print(result)  # 去掉日期中的时间
    
    
  • 相关阅读:
    java安全编码指南之:Number操作
    java安全编码指南之:声明和初始化
    java安全编码指南之:Mutability可变性
    巧用HashMap一行代码统计单词出现次数
    java安全编码指南之:基础篇
    drf 路由生成
    drf 视图使用及源码分析
    drf Response浅析
    drf Serializer基本使用
    drf APIView源码浅析
  • 原文地址:https://www.cnblogs.com/authetic/p/9882115.html
Copyright © 2020-2023  润新知