python学习第11天笔记

1 正则表达式

    1.1 概念:一种文本模式,描述在搜索文本时要匹配的一个或多个字符

    1.2 语法

        1.2.1 字面值,包括普通字符和需要转义的字符

        1.2.2 元字符

    1.3 匹配

        1.3.1 单字,预定义元字符

        1.3.2 量词

                 ? 0或1次

      * 0或多次

      + 1或多次

    {m,n} 范围次数

    {m,} 最少m次

    {,n} 最多n次

        1.3.3 贪婪与非贪婪

             贪婪:尽量匹配最大范围结果

             非贪婪:尽量匹配最小范围结果,实现方法为量词后追加?

        1.3.4 边界匹配

             ^行首  $ 行尾  \b 单词边界  \B非单词边界  \A 输入开头  \Z 输入结尾

2 python正则表达式

    2.1 模块RegexObject基本用法用法一 

import re

s = ‘Tom is 8 years old, Pitter is 25 years old’

pattern = re.compile(‘\d+’)

pattern.findall(s)

    2.2 模块RegexObject基本用法二       

re.findall(‘\d+’,s)

    2.3 主要方法

2.3.1 .findall()查找所有非重叠匹配项,返回list

2.3.2 .match(string[,pos[,endpos]]), 匹配,仅从起始位置,返回MatchObject

2.3.3 .search(string[,pos[,endpos]]), 任意位置搜索,返回MatchObject

2.3.4 .finditer(),查找所有匹配项,返回一个包含MatchObject的迭代器

    2.4 MatchObject匹配对象

        2.4.1 .group() 参数为0或空返回整个匹配,有参时返回特定分组匹配细节,参数参数也可以是分组名称

        2.4.2 .groups() 返回包含所有子分组的元组

        2.4.3 .start() 返回特定分组的起始索引

        2.4.4 .end() 返回特定分组的终止索引

        2.4.5 .span() 返回特定分组的起止索引元组

        2.4.6 .groupdict() 以字典表形式返回分组名及结果

    2.5 group编组

        2.5.1 声明

             方式1:(模式)

             方式2:(?p<name>模式)

        2.5.2 引用

             方式1:匹配对象内 m.group('name')

             方式2:模式内 (?p=name)

             方式3:表现内 \g<name>

    2.6 拆分(.split)    

import re

text=’Beautiful is better than ugly.\nSimple is better than complex’

        方法一

p = re.compile(r‘\n’)

p.split(text)

        方法二    

re.split(r’\n’,text)

    2.7 替换   

re.sub(r’\n’,’-’,text)

    2.8 编译标记

        re.I 忽略大小写

        re.M 匹配多行

        re.S 指定’.’匹配所有字符包括\n

    2.9 模块级别操作

        2.9.1清理正则缓存

re.purge()

  2.9.2 re.escape() 逃逸字符,比如re.findall(re.escape(‘^’),’^python^’)

会找出两个^

3 .系统工具

3.1 概念

操作系统里边原本帮我们执行的一些常见的任务

    3.2 系统模块

        3.2.1 sys

             提供一组功能映射python运行时的操作系统

        3.2.2 os

             提供跨平台可移植的操作系统编程接口

    3.3 sys模块

        3.3.1 平台与版本

             sys.platform

             sys.version

             sys.modules

             sys.path

        3.3.2 观察异常细节

             sys.exc_info()   获取最后一次异常信息

             traceback.print_tb(sys.exc_info()[2]) 获取出错位置

        3.3.3 命令行参数

             sys.argv

        3.3.4 标准流

             sys.stdin 标准输入流

x=sys.stdin.readline()[:]等同于x=input(‘请输入信息:’)

             sys.stdout 标准输出流

sys.stdout.write(‘hello’)等同于print(‘hello’)

             sys.stderr 标准错误流

                 sys.stderr.write(‘错误信息’) sys.stderr.flush()

等同于raise Error(‘错误信息’)

    3.4 os模块

        3.4.1 目录操作

            获取当前目录:os.getcwd()

             列出当前目录下文件及文件夹:os.listdir(path)

             改变当前目录:os.chdir(path)

             获取当前进程:os.getpid()

             获取当前副进程:os.getppid()

        3.4.2 运行shell命令

             .system() python脚本中运行shell命令

             .popen() 运行命令并连接输入输出流

        3.4.3 文件处理

             .mkdir(‘目录名’) 创建目录

             .rmdir(‘目录名’) 删除目录

             .rename(‘旧名’,’新名’) 改名

             .remove(‘文件名’) 删除文件

        3.4.4 可移植工具

             .sep 分隔符

             .pathsep 路径分隔符

             .curdir 相对当前目录符号

             .pardir 相对上一级目录符号

        3.4.5 路径模块 .path

             .isdir(‘path’) 是否是目录

             .isfile(‘path’) 是否是文件

             .exists(‘path’) 是否存在

             .split(path) 拆分路径

             .splitext(path) 拆分路径扩展名

             .join() 连接路径

             .normpath() 标准化路径

             .abspath() 绝对化路径

猜你喜欢

转载自www.cnblogs.com/zhuome/p/11349451.html