编程论坛

 找回密码
 立即注册
广告联系qq1031180668广告位
查看: 143|回复: 2

[python] 正则表达式re模块

[复制链接]
  • ta_mind

    2018-8-17 21:57
  • classn_01: 71 classn_02

    [LV.6]常住居民II

    983

    主题

    1704

    帖子

    3353

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    3353

    最佳新人活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理论坛元老

    发表于 2018-7-27 16:37:45 | 显示全部楼层 |阅读模式
    为什么要学正则表达式
    实际上爬虫一共就四个主要步骤:
    • 明确目标 (要知道你准备在哪个范围或者网站去搜索)
    • 爬 (将所有的网站的内容全部爬下来)
    • 取 (去掉对我们没用处的数据)
    • 处理数据(按照我们想要的方式存储和使用)
    那么对于文本的过滤或者规则的匹配,最强大的就是正则表达式,是Python爬虫世界里必不可少的神兵利器。
    什么是正则表达式
    正则表达式,又称规则表达式,通常被用来检索、替换那些符合某个模式(规则)的文本。
    正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。
    给定一个正则表达式和另一个字符串,我们可以达到如下的目的:
    • 给定的字符串是否符合正则表达式的过滤逻辑(“匹配”);
    • 通过正则表达式,从文本字符串中获取我们想要的特定部分(“过滤”)。


    正则表达式re模块

    正则表达式re模块

    正则表达式匹配规则

    正则表达式re模块

    正则表达式re模块


    Python 的 re 模块
    在 Python 中,我们可以使用内置的 re 模块来使用正则表达式。
    有一点需要特别注意的是,正则表达式使用 对特殊字符进行转义,所以如果我们要使用原始字符串,只需加一个 r 前缀,示例:

    [Python] syntaxhighlighter_viewsource syntaxhighlighter_copycode
    r'chuanzhiboke\t\.\tpython'
    

    re 模块的一般使用步骤如下:
    • 使用 compile() 函数将正则表达式的字符串形式编译为一个 Pattern 对象
    • 通过 Pattern 对象提供的一系列方法对文本进行匹配查找,获得匹配结果,一个 Match 对象。
    • 最后使用 Match 对象提供的属性和方法获得信息,根据需要进行其他的操作
    compile 函数
    compile 函数用于编译正则表达式,生成一个 Pattern 对象,它的一般使用形式如下:
    [Python] syntaxhighlighter_viewsource syntaxhighlighter_copycode
    import re
    # 将正则表达式编译成 Pattern 对象
    pattern = re.compile(r'\d+')

    在上面,我们已将一个正则表达式编译成 Pattern 对象,接下来,我们就可以利用 pattern 的一系列方法对文本进行匹配查找了。
    Pattern 对象的一些常用方法主要有:
    • match 方法:从起始位置开始查找,一次匹配
    • search 方法:从任何位置开始查找,一次匹配
    • findall 方法:全部匹配,返回列表
    • finditer 方法:全部匹配,返回迭代器
    • split 方法:分割字符串,返回列表
    • sub 方法:替换





    不积跬步,无以至千里
  • ta_mind

    1534514221
  • classn_01: 71 classn_02

    13

    主题

    18

    帖子

    20

    积分

    实习版主

    Rank: 7Rank: 7Rank: 7

    积分
    20
    发表于 2018-8-8 12:31:47 | 显示全部楼层
    dd.gif
    zzz.gif

    classn_11

    0

    主题

    42

    帖子

    88

    积分

    注册会员

    Rank: 2

    积分
    88
    发表于 2018-8-13 14:40:56 | 显示全部楼层
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    手机版|Archiver|小黑屋|sitemap|编程论坛 - 一个单纯的编程学习交流论坛 ( 豫ICP备15032706号 )

    GMT+8, 2018-10-21 01:06 , Processed in 1.295007 second(s), 27 queries .

    Powered by Discuz! X3.4

    © 2001-2013 Comsenz Inc.

    快速回复 返回顶部 返回列表