美文网首页
正则表达式入门

正则表达式入门

作者: Python课程作业 | 来源:发表于2017-05-27 07:27 被阅读71次
    一、什么是正则表达式

    正则表达式,又称正规表示式、正规表示法、正规表达式、规则表达式、常规表示法(英语:Regular Expression,在代码中常简写为regex、regexp或RE),是计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些匹配某个模式的文本。

    许多程序设计语言都支持利用正则表达式进行字符串操作。
    简单来说正则表达式就是一个模板,可以用它匹配寻找到我们所需要的内容,如邮件格式,手机号码的格式要求。

    二、正则表达式快速学习

    正则表达式的规则很多,对于初学者来说要记住的内容太多。其实可以先掌握几个基本就够用了,多应用几次后再了解其他,就比较快了。

    掌握4个符号 : . * + ? ()

    1. . 匹配除“\n”之外的任意字符
      • 匹配前一个字符0次或无限次
    2. ? 匹配前一个字符0次或1次
      • 匹配前一个字符1次或无限次
    3. () 当我们需要一段内容的时候就用括号包围起来,不需要的内容放在括号外。
    三、正则表达式学习

    经常看,经常查

    正则表达式.png

    四、Python正则表达式使用

    先掌握一个最常用方法:findall(): 匹配所有符合规则的内容,返回的是包含结果的列表。

    #coding=utf-8
    import re  #引入正则表达式
    
    ####网页的内容可以从网页获取
    myhtml='''
    <head>
        <meta name="description"  content="简书是一个优质的创作社区,在这里,你可以任性地创作,一篇短文、一张照片、一首诗、一幅画……我们相信,每个人都是生活中的艺术家,有着无穷的创造力。">
        <meta name="keywords"  content="简书,简书官网,图文编辑软件,简书下载,图文创作,创作软件,原创社区,小说,散文,写作,阅读">
    
    
        <title>简书 - 创作你的创作</title>
    
        <body>
    
        </body>
    
    
    '''
    
    # 匹配出网页中的title标签中的内容
    title = re.findall('<title>(.*?)</title>',myhtml)
    
    # 循环遍历出来
    for ti in title:
        print ti
    
    
    

    以下方法用得较少,可以放到后面再理解。

    search():
    匹配并提取第一个符合规律的内容,返回一个正则表达式对象
    
    sub(): 
    替换符合规律的内容,返回替换后的值
    

    正则表达式在线测试:http://tool.oschina.net/regex/

    相关文章

      网友评论

          本文标题:正则表达式入门

          本文链接:https://www.haomeiwen.com/subject/enmffxtx.html