zoukankan      html  css  js  c++  java
  • Python 正则

    Match 对象的属性
        .string     待匹配的文本
        .re         匹配是使用的pattern对象(正则表达式)
        .pos        正则表达式搜索文本的开始位置
        .endpos     正则表达式搜索文本的结束位置
        
    Match 对象的方法
        .group()    获得匹配后的字符串    
        .start()    匹配字符中的原始字符串的开始位置
        .end()      匹配字符串的原始字符串的结束位置
        .span()     返回(.start(),.end())
        
    Re库主要功能函数
        re.search(pattern,string,flags=0)
            在一个字符串中搜索匹配正则表达式的第一个位置,返回match对象
                pattern:正则表达式的字符串或者原生字符串表示
                string:待匹配字符串
                flags:正则表达式使用时的控制标记
                    re.I    re.IGNORECASE   忽略正则表达式的大小写,[A-Z]能够匹配小写字符
                    re.M    re.MULTILINE    正则表达式中的 ^ 操作符能够将给定字符串的每行当作匹配开始
                    re.S    re.DOTALL   正则表达式中的 . 操作符能够匹配所以字符,默认匹配除换行外的所有字符
        
        re.match(pattern,string,flags=0)
            从一个字符串的开始位置起匹配正则表达式,返回match对象
        
        re.findall(pattern,string,flags=0)
            搜索字符串,以列表类型返回全部能匹配的子串
        
        re.split(pattern,string,maxsplit=0,flags=0)
            将一个字符串按照正则表达式匹配结果进行分割,返回列表类型
                maxsplit:最大分割数,剩余部分作为最后一个元素输出
                    maxsplit=0
                        匹配 一个,后面不匹配了
            匹配的部分去掉,不匹配的输出
        
        re.finditer(pattern,string,flags=0)
            搜索字符串,返回一个匹配结果的迭代类型,每个迭代元素是match对象
       
        re.sub(pattern,repl,string,count=0,flags=0)
            在一个字符串中替换所有匹配正则表达式的子串,返回替换后的字符串
                repl:替换匹配字符串的字符串
                count:匹配的最大替换次数
                使用repl替换string中每一个匹配的子串后返回替换后的字符串。
                当repl是一个字符串时,可以使用id或g、g引用分组,但不能使用编号0。
                当repl是一个方法时,这个方法应当只接受一个参数(Match对象),并返回一个字符串用于替换(返回的字符串中不能再引用分组)。
                count用于指定最多替换次数,不指定时全部替换。

        re.subn(pattern, repl, string[, count])
            返回 (sub(repl, string[, count]), 替换次数)。

        regex = re.compile(pattern,flags=0)
            将正则表达式的字符串形式编译正正则表达式对象
            
            
    最小匹配操作符
        *?      前一个字符2次或无限次扩展
        +?      前一个字符1次或无限次扩展
        ??      前一个字符2次或1次扩展
        {m,n}?      扩展钱一个字符m至n次(含n)
        
    正则表达式的常用操作符
        .       表示任何单个字符    
        []      字符集,对单个字符给出去值范围         [abc]表示a,b,c;[a-z]表示a到z单个字符
        [^]     非字符集,对单个字符给出排除范围            [^abc]表示非a或b或c的单个字符
        *       前一个字符0次或无限次扩展           abc^表示ab,abc,abcc,abccc等
        +       前一个字符1次或无限次扩展           abc+表示abc,abcc,abccc等
        ?       前一个字符0次或1次扩展            abc?表示ab,abc
        |       左右表达式人一个            abc|def表示abc,def
        {m}     扩展前一个字符m次           ab{2}c表示abbc
        {m,n}   扩展前一个字符m至n次(含n)         ab{1,2}c表示abc,abbc
             匹配字符串开头         ^abc表示abc且在一个字符串的开头
        $       匹配字符串结尾         abc$表示abc且在一个字符串的结尾
        ()      分组标记,内部只能使用 | 操作符           (abc)表示abc,(abc|def)表示abc,def
        d      数字,等价于[0-9]     
        D      非数字,等价于[^0-9]    
        w      单词字符,等价于[A-Za-z0-9]
        W      非单词字符,等价于[^A-Za-z0-9]
        s      匹配任意的空白符(空格,换行,回车,换页,制表),效果[ f ]
        S     ......
        
        x?        匹配0个或1个x (非贪婪匹配)
        x*        匹配0个或任意多个x(.* 表示匹配0个或任意多个字符(换行符除外)贪婪匹配)
        x+        匹配至少一个x(贪婪匹配)



  • 相关阅读:
    JAVA第一次上机作业
    如何设置FreePBX的数据库用户可以通过远程来连接Mysql数据库?
    Mysql 用户root密码重置
    使用FreePBX和第三方线路对接
    防御攻击
    Xshell配置公钥,免密码登陆
    centos7防火墙启动关闭
    Windows执行bat脚本乱码
    Windows开机执行bat脚本
    bat脚本之启动MySQL服务
  • 原文地址:https://www.cnblogs.com/mysterious-killer/p/10127225.html
Copyright © 2011-2022 走看看