zoukankan      html  css  js  c++  java
  • 【Python3 爬虫】09_正则表达式(re.math()、re.search()、re.sub()、全局匹配函数)

    re.math()函数

    从源字符串的起始位置匹配一个模式

    语法:re.match(pattern, string, flag)

    第一个参数代表对应的正则表达式,第二个参数代表对应的源字符,第三个参数是可选参数,代表对应的标志位,可以放模式修正符等信息

    #-*- codingn:utf-8 -*-
    import re
    string = "ipythonajsoasaoso"
    pattern = ".python."
    result = re.match(pattern, string)
    result1 = re.match(pattern, string).span()
    print("结果1:%s" % result)  
    print(result1)  # (0,8)

    image

    re.search()函数

    扫描整个字符串进行匹配
    语法:re.search(pattern, string, flag)

    #-*- codingn:utf-8 -*-
    import re
    string = "helloipythonajsoasaoso"
    pattern = ".python."
    result1 = re.match(pattern, string)
    result2 = re.search(pattern, string)
    print("结果1:%s" % result1)
    print("结果2:%s" % result2)

    image

    全局匹配函数

    将符合模式的全部内容都匹配出来

    (1)使用re.compile()对正则表达式进行预编译
    (2)编译后使用findall()根据正则表达式从原字符串中将匹配的解决全部找出

    #-*- codingn:utf-8 -*-
    import re
    string = "helloipythonajsoasaospythono"
    pattern = re.compile(".python.") #预编译
    result = pattern.findall(string) #找出符合模式的所有结果
    print("结果1:%s" % result)
    

    image

    re.sub()函数

    根据正则表达式来实现替换某些字符串
    re.sub(pattern, rep, string, max)
    第一个参数对应的正则表达式,第二个参数为要替换成的字符串,第三个参数为源字符串,第四个参数为可选项,代表最多替换的次数,如果忽略不写,则会将符合模式的结果全部替换。

    #-*- codingn:utf-8 -*-
    import re
    string = "bnsdBBjsdkBBlsBBdkBBs"
    pattern = "BB"
    result1 = re.sub(pattern,"**",string)  #全部替换
    result2 = re.sub(pattern,"**",string,1)  #最多替换1次
    result3 = re.sub(pattern,"**",string,2)  #最多替换2次
    
    print("结果1:%s" % result1)
    print("结果2:%s" % result2)
    print("结果3:%s" % result3)
    image
  • 相关阅读:
    apache 多站点设置
    关键词使用什么分隔符好
    ASP.NET MVC ModelState与数据验证【转】
    Sealed,new,virtual,abstract与override的区别
    ASP.NET MVC4中调用WEB API的四个方法
    wcf 基础连接已经关闭: 连接被意外关闭
    解决MySQL不允许从远程访问的方法有哪些?
    PHP魔法函数 自动转义 magic_quotes_gpc和magic_quotes_runtim
    Html.RenderPartial与Html.RenderAction 用法
    MVC中的扩展点 ActionResult
  • 原文地址:https://www.cnblogs.com/OliverQin/p/8657540.html
Copyright © 2011-2022 走看看