最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • 小白入门必看的Python正则表达式

    正文概述    2020-07-12   307

    小白入门必看的Python正则表达式

    我们能够使用urllib向网页请求并获取其网页数据。但是抓取信息数据量比较大,我们可能需要其中一小部分数据。对付刚才的难题,就需要正则表达式出马了。

    re 模块

    Python 自1.5版本起通过新增 re (Regular Expression 正则表达式)模块来提供对正则表达式的支持。使用 re 模块先将正则表达式填充到 Pattern 对象中,再把 Pattern 对象作为参数使用 match 方法去匹配的字符串文本。match 方法会返回一个 Match 对象,再通过 Match 对象会得到我们的信息并进行操作。下面介绍几个 re 常用的函数。

    compile 函数

    compile 是把正则表达式的模式和标识转化成正则表达式对象,供 match() 和 search() 这两个函数使用。它的函数语法如下:

    re.compile(pattern[, flags])

    第一个参数是pattern,指的正则表达式。

    第二个参数flags是匹配模式,是个可选参数。可以使用按位或'|'表示同时生效,也可以在正则表达式字符串中指定。匹配模式有以下几种:

    小白入门必看的Python正则表达式

    该方法返回的结果是一个 Pattern 对象。

    match 函数

    match()函数只在字符串的开始位置尝试匹配正则表达式,也就是说只有在 0 位置匹配成功的话才有返回。如果不是开始位置匹配成功的话,match() 就返回 none。它的函数语法如下:

    re.match(pattern, string[, flags])

    第一个参数:匹配的正则表达式

    第二个参数:要被匹配的字符串

    flags 是可选参数,跟 compile 用法相似

    匹配成功 re.match 方法返回一个匹配的对象,否则返回None。要想获得匹配结果,既可以使用groups()函数获取一个包含所有字符串的元组(从 1 到 所含的小组号),也可以使用group(组号)函数获取某个组号的字符串。

    match 函数用法的示例代码:

    import re
    
    pattern = re.compile('Python')
    text = 'Python python pythonn'
    match = re.search(pattern, text)
    if match:
        print(match.group())
    else:
        print('没有匹配')

    search 函数

    search() 函数是扫描整个字符串来查找匹配,它返回结果是第一个成功匹配的字符串。

    re.search(pattern, string[, flags])

    参数用法以及返回结果跟match函数用法相同。

    search 函数用法的示例代码:

    import re
    
    pattern = re.compile('Python')
    text = 'welcome to Python world!'
    match = re.search(pattern, text)
    if match:
        print(match.group())
    else:
        print('没有匹配')

     findall 函数

    findall函数在字符串中搜索子串,并以列表形式返回全部能匹配的所有子串。

    re.findall(pattern, string[, flags])

    参数用法以及返回结果跟match函数用法相同。

    findall 函数用法的示例代码:

    import re
    
    pattern = re.compile('\d+')
    text = 'one1two2three3four4'
    list = re.findall(pattern, text)
    if list:
        print(list)
    else:
        print('没有匹配')

    起源地下载网 » 小白入门必看的Python正则表达式

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元