中心主题 分手后的思念是犯贱 2023-06-06 12:22 27阅读 0赞 ## 15.正则表达式 ## ### 概述 ### * 概念 * 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\_\] * \\W:非字母数字字符\[^a-zA-Z0-9\_\] * 批量备选 * | yes|no * 量词(字符、元字符、字符集如何重复) * ? 0或1次 * * 0或多次 * * 1或多次 * 特定 * \{n,m\} n到m次 * \{n,\} 至少n次 * \{,m\} 至多m次 * \{n\} n次 * 贪婪和非贪婪 * 贪婪(默认):尽量匹配最大范围的结果 * 非贪婪 * 尽量匹配最小范围结果 * 方法:量词后追加? * 例: * ?? * 边界匹配 * ^ 行首 * $ 行尾 * \\b 单词边界 * \\B 非单词边界 * \\A 输入开头 * \\Z 输入结尾 * 注:或因上下文差异有不同表现 ### python正则 ### * 模块 * import re * Regexobject 正则对象 * 模式对象,表现编译后的正则表达式(编译为字节码并缓存) * 编译:re.complle(r’正则表达式’) * .findall() * 查找所有非重叠匹配项 * 返回list * .match(str\[pos,\[endpos\]\]) * 匹配仅从开始位置 * 返回MatchObject * .search(str\[pos,\[endpos\]\]) * 任意位置搜索 * 返回MatchObject * finditer() * 查找所有匹配项 * 返回包括Match0bject元素的迭代器 * MatchObject 匹配对象 * 表现被匹配的模式 * .group() * 参数为0或空,返回整个匹配 * 有参时返回特定分组匹配细节 * 参数也可以是分组名称 * .groups() * 返回所有子分组的元组 * .start() * 返回特定分组的起始索引 * .end() * 返回特定分组的终止索引 * .span() * 返回特定分组的起始索引元组 * .groupdict() * 以字典表形式返回分组名及结果 * Group编组 * 场景 * 从匹配模式中提取信息 * 创建子正则以应用量词 * 限制备选项范围 * 重用正则表达式中提取的内容 * 声明 * (模式) * (P模式) * 引用 * 匹配对象内:m.group(‘name’) * 模式内:(?P=name) * 表现内:\\g * 应用 * 字符串的切割 * .split(string,maxsplit=0) * 分隔字符串 * .sub(rep1,string,count=0) * 替换字符串 * .subn(rep1,string,count=0) * 替换字符串,并返回替换数量 * 编译标记 * 改变正则的默认行为 * re.I 忽略大小写 * re.M 匹配多行 * re.S 指定匹配所有字符,包括\\n * … * 模块级别操作 * re.purge() 清理正则缓存 * re.escape() 逃逸字符 * 子主题 3 ## 16.系统工具 ## ### 命令 ### * 命令行工具 * shell脚本 * 系统管理 ### 系统模块 ### * sys * 提供一组功能映射Python运行时的操作系统 * os * 提供跨平台可移植的操作系统编程接口 * os.path提供文件及目 录工具的可移植编程接口 ### sys ### * 平台与版本 * sys.platform * sys.version * sys.path * sys.modules * 观察异常细节 * sys. exc\_info()获取最后一次异常细节 * traceback. print\_tb(sys.exc\_info()\[2\]) * 子主题 3 * 命令行参数 * sys.argv * 标准流 * sys.stdin 标准输入流 * sys.stdout 标准输出流 * sys.std.err标准错误流 ### os ### * shell变量 * os.environ * 管理工具 * .getcwd() 获取当前工作路径 * .listdir(path) 列举目录内容 * .chdir(path) 改变目录 * 子主题 4 * .getpid()获取当前进程id * .getppid() 获取当前父进程id * 运行shell 命令 * .system() Python脚本中运行shell命令 * .popen() 运行命令并连接输入输出流 * 文件处理 * .mkdir(‘目录名’)创建目录 * .rmdir(‘目录名’) 刪除目录 * .rename(‘旧名’, ‘新名’) 改名 * .remove ( ‘文件名’) 刪除文件 * 可移植工具 * .sep分隔符 * .pathsep 路径分隔符 * .curdir 相对当前目录符号 * .pardir 相对上级目录符号 * 路径模块 .path * > > > os. path. isdir(r’d:\\iso’ ) > > > T rue > > > os. path. isdir(r’d:\\isoo’) > > > False - >>>os.path. isfile(r'd:\add.py ) True \- >>>os. path.exists( d:\\iso) True \- >>>os.path. getsize(r’d:\\add.py) 288 \- >>>os.path.split(r’c:\\data\\temp\\data. txt’ ) ( ‘c:\\data\\temp’,’ data.txt’ ) \- >>> name = r’c: data\\ temp\\data. txt ’ > > > os.path. dirname (name ) > > > ‘c:\\data\\temp’ > > > > os.path. basename(name) > > > 'data. txt ’ > > > > os.path.splitext(name) > > > ( ’ c:\\data\\temp\\data’, ’ .txt’) > > > > os.path.splitext(name)\[1\] > > > ‘.txt’ > > > > os.path. join(r’c: temp’, ’ product.csv’ ) > > > ‘c:\\temp\\product. csv’ - >>> p= 'D:\\app\\db/ files/data .csv' > > > os.path.normpath§ > > > ‘D:\\app\\db\\files\\data .csv’ - .normpath()标准化路径 *XMind: ZEN - Trial Version*
相关 中心主题 5.数据类型 元组(tuple) 特点 任意对象的有序集合 通过下标来访问 属于‘’不可变类型‘’ ╰+哭是因爲堅強的太久メ/ 2023年08月17日 16:52/ 0 赞/ 111 阅读
相关 中心主题 5.数据类型 数值 声明、赋值、使用 表达式 显示 ‘0:.2f’.format(4.444) import Dear 丶/ 2023年08月17日 16:18/ 0 赞/ 130 阅读
相关 中心主题 4.链表 概念 顺序表,将元素顺序地存放在-块连续的存储区里,元素间的顺序关系由它们的存储顺序自然表示。 链表,将元素存放在通过链接构造起来的一系列存储 谁践踏了优雅/ 2023年06月08日 14:57/ 0 赞/ 134 阅读
相关 中心主题 18.文件读取 txt def write\_txt(): with open(‘data.txt’,‘w’,encoding=‘utf8’) a 淩亂°似流年/ 2023年06月07日 08:23/ 0 赞/ 34 阅读
相关 中心主题 15.正则表达式 概述 概念 Regular Expression 一种文本模式,描述在搜索文本时要匹配的一个或多个字符 分手后的思念是犯贱/ 2023年06月06日 12:22/ 0 赞/ 28 阅读
相关 中心主题 13.对象持久化 扁平文件 文本文件 使用列表存储出现,把标点符号独立存储问题 使用eval()可以解决上述问题,但是当 ゝ一纸荒年。/ 2023年06月05日 13:59/ 0 赞/ 52 阅读
还没有评论,来说两句吧...