2020.1.15 python学习笔记

正则表达式

概念
Regular Expression
一种表达式,描述在搜索文本时要匹配的一个或多个字符串

典型场景
数据验证
文本扫描
文本提取
文本替换
文本分割

语法
语法值
普通字符
需转义
元字符

匹配
贪婪与非贪婪
贪婪(默认):尽量匹配最大范围结果
非贪婪
尽量匹配最小的范围结果
方法:量词后面加?

??
*?
+?
单字,预定义元字符
.匹配所有字符,除了\n
\d匹配数字,等同于[0-9]
\D匹配所有的非数字,等同于[^0-9]
\s 取空白字符 \t\n\r\f\v
\S取非空白字符 ^\t\n\r\f\v
\w 字母数字字符[a-zA-Z0-9_]
批量备选
| yse|no取yes也可以,取no也可以
量词(字符、元字符,字符集如何重复)
? 出现0次或者1次
* 0或多次
+ 1次或多次
特定
{3,5} 范围次数
{n} n次
{n,}至少n次
边界匹配
^行首
$行尾
\b单词边界
子主题 1
\B非单词边界
\A输入开头
\Z输入结尾
注:或因上下文差异有不同表现

python正则
模块
import re
RegexObject
模式对象,表现编译后的正则表达式(编译为字节码并缓存)
编译
re.compile(r’模式’)
.findall()
查找所有非重叠匹配项
返回list
.match(string[,pos[,endpos]])
匹配,仅从起始位置开始
返回MatchObject
.search(string[,[pos[,endpos]])
任意位置搜索
返回Matchobject
.finditer()
查找所有匹配项
matchobject
表现被匹配的模式
.group()
参数为0或空返回整个匹配
有参时返回特定分组匹配细节
参数也可以是分组匹配名称
.groups()
返回包含所有子分组的元组
.start()返回特定分组的起始索引
.end()返回特定分组的终止索引
.groupdict()以字典表形式返回分组名及结果
group编组
场景
从匹配模式中提取信息
创建子正则以应用量词
限制备选范围
重用正则模式中提取的内容
声明
(模式)
(?P模式)
引用
匹配对象内 m.group(‘name’)
模式内 (?P=name)
表现内 \g
应用
字符串操作
.split(string.maxsplit=0)
分割字符串
.sub(repl.string.count=0)
替换字符串
编译标记
改变正则的默认行为
re.I 忽略大小写
re.M 匹配多行
re.S 指定’.'匹配所有字符,包括\n
模块级别操作
re.purge() 清理正则缓存
re.esgape() 逃逸字符

系统工具

概念
命令行工具
shell脚本
系统管理

系统模块
sys
提供一组功能映射Python运行时的操作系统
os
提供跨平台可移植的操作系统编程接口
.path 提供文件及目录工具的可移植编程接口

sys
平台与版本
sys.platform看下操作平台什么版本
sys.version看下python什么版本
sys.path 看下python的模块搜索路径
sys.modules 看下载入的模块
观察异常细节
sys.exc_info() 获取最后一次异常细节
traceback.print_tb(sys.exc_info()[2])
命令行参数
sys.argv
标准流
sys.stdin 标准输入流
sys.stdout 标准输出流
sys.stderr 标准错误流

os
管理工具
.getcwd() 获取当前工作目录
.listdir(path) 列举目录内容
.chdir(path) 改变工作目录
.getpid() 获取当前进程ID
gtappid() 获取当天父进程ID
shell变量
os.environ
运行shell命令
.system() Python脚本中运行shell命令
.popen() 运行命令并连接输入输出流
文件处理
.mkdir(‘目录名’) 创建目录
.rmdir(‘目录名’)删除目录
.rename(‘旧名’,‘新名’)改名
.remove(‘文件名’) 删除文件
可移植工具
.sep 分隔符
.pathsep 路径分隔符
.curdir 相对当面目录符号
.pardir 相对上级目录符号
路径模块 os.path
.isdir(path) 是否目录
.isfile(path) 是否文件
.exists(path) 是否存在
.split(path) 拆分路径
.splitext(path)拆分路径扩展名
.join() 连接路径
.normpath() 标准化路径
.abspath() 绝对化路径

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值