zoukankan      html  css  js  c++  java
  • re模块

    1.正则表达式

      (1)正则表达式含义...........一种匹配字符串的规则

                      1来确认一个字符串是否符合规则

                       2从大段的字符串中找到符合规则的内容

      (2)程序领域

        1.登录注册页的表单验证

        2.爬虫

      (3)正则表达式的格式

        元字符 字符组[  ]

          [1bc]表示的是一个范围

          [0-9][A-Z][a-z] 匹配三个字符

          [abc0-9] 匹配一个字符

          [0-9a-zA-Z]匹配一个字符

        d == [0-9]也表示匹配一个字符,匹配的诗歌数字

        w ==[0-9][A-Z][a-z]表示匹配一个数字字母下划线

        s ==[   ]包括回车   空格 和制表符

           匹配回车

           匹配制表符

        D匹配非数字

           W匹配非数字字母下划线

        S匹配非空白

        [dD][sS][wW]匹配所有

        ^匹配字符串的开始

    ^海. 海燕海娇海东 海燕 只从开头匹配"海."

        $匹配字符串的结尾

      海.$   海燕海娇海东 海东 只匹配结尾的"海.$"

        a|b匹配字符a或b,大数在前

        ()匹配括号内的表达式,也表示一个组

        ()...............用法()的用法 [1-9]d{14}(d{2}[1-9X])? 身份证号

                   d+(.d+)?  小数或者整数

        . 匹配除换行符以外的任意字符

    2.量词

      ?.........在量词的后面跟一个 ? 取消贪婪匹配  非贪婪(惰性)模式

    李.? 李杰和李莲英和李二棍子

    李杰
    李莲
    李二

     
    ?表示重复零次或一次,即只匹配"李"后面一个任意字符

      + ..........重复一次或更多次

    李.+ 李杰和李莲英和李二棍子 李杰和李莲英和李二棍子
    +表示重复一次或多次,即只匹配"李"后面1个或多个任意字符

      * ..........重复零次或更多次

    李.* 李杰和李莲英和李二棍子 李杰和李莲英和李二棍子
    *表示重复零次或多次,即匹配"李"后面0或多个任意字符

      {n}  {m}  {n,m}

    3转义符

       

      

    4re模块

      (1)匹配  

        1)findall....................参数  返回值类型:列表,返回值个数:1,返回值内容,所有匹配上的项

            例子:

        2)search.....................返回值类型  正则匹配结果的对象,返回值:1个,匹配上就返回对象.返回的对象通过group来获取匹配到的第一个结果

            例子:

          

        (2)替换   sup

          

        (3)切割   split

          

            split     遇到分组,会保留分组内被切割的内容

        (4)进阶方法

          1)compile   预编译   节省时间  只有在多次使用某一个相同的正则表达式时候这个compile才会帮助我们提高程序的效率

           

            2)finditer

              

      python中的正则表达式

        findall 会优先显示分组中的 内容,要想取消分组优先,(?:正则表达式)用的匹配

          

        search 如果search中有分组的话,通过group(n)就能拿到gronp中的匹配内容

          

      

     分组表达式进阶

        分组命名:

          (?P<name>正则表达式)表示给分组起名字

          (?P=name)表示使用这个分组,这里匹配到的内容应该和分组中的内容完全相等

        通过索引使用分组

           1表示使用第一组,匹配到的内容必须和第一个组中的内容完全相同

        

          

      

        

  • 相关阅读:
    python学习笔记6基本对象和流程语句整理
    暑假第二周总结(2018.7.16——7.22)
    暑假第三周总结(2018.7.23——7.29)
    《大道至简》读后感
    暑假第四周总结(2018.7.30——8.5)
    暑假第一周总结(2018.7.97.15)
    .NET中实现页面间的参数传递 QueryString\Application\Session\Cookie(转载)
    px和dip的区别与转换公式
    android开发ListView+Json+异步网络图片加载+滚动翻页的例子(图片能缓存,图片不错乱)
    正则表达式的惰性匹配方法
  • 原文地址:https://www.cnblogs.com/xiaole-7890/p/9431579.html
Copyright © 2011-2022 走看看