1 / 12
文档名称:

python模块re.docx

格式:docx   大小:1,190KB   页数:12页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

python模块re.docx

上传人:碎碎念的折木 2022/6/14 文件大小:1.16 MB

下载得到文件列表

python模块re.docx

文档介绍

文档介绍:使用 Python 模块 re 实现解析小工具
孙 翎, 软件工程师, IBM
贺 皓, 高级软件工程师, IBM
张 晗, 高级软件工程师, IBM
简介: Python 模块 re(Regular Expression)是一个正则表达式不跟在‟…‟的后面
包含‟ \ ‟的特殊序列的意义如表 2-2:
表 2. 正则表达式特殊序列
特殊表达式序列
意义
\A
只在字符串开头进行匹配。
\b
匹配位于开头或者结尾的空字符串
\B
匹配不位于开头或者结尾的空字符串
\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_]
\Z
只在字符串结尾进行匹配
Python re 的主要功能
Python 的 re 正则表达式模块定义了一系列函数,常量以及异常;同时,正则表达式被编译成 RegexObject ‟ 实例,本身可以为不同的操作提供方法。接下来简要介绍一下这些函数的功能和用法。
compile
(pattern[, flags])
把正则表达式的模式和标识转化成正则表达式对象,供 match() 和 search() 这两个函数使用。
re 所定义的 flag 包括:
忽略大小写
表示特殊字符集 \w, \W, \b, \B, \s, \S 依赖于当前环境
多行模式
即为‟ . ‟并且包括换行符在内的任意字符(‟ . ‟不包括换行符)
表示特殊字符集 \w, \W, \b, \B, \d, \D, \s, \S 依赖于 Unicode 字符属性数据库
为了增加可读性,忽略空格和‟ # ‟后面的注释例:以下两种用法结果相同:
A)
compiled_pattern = (pattern) result = (string)
B)
result = (pattern, string)
search
(pattern, string[, flags])
在字符串中查找匹配正则表达式模式的位置,返回 MatchObject 的实例,如果没有找到匹配的位置,则返回 None。
对于已编译的正则表达式对象来说(),有以下 search 的方法:
search (string[, pos[, endpos]])
若 regex 是已编译好的正则表达式对象,(string, 0, 50) 等同于
>>> pattern = ("a")
>>> ("abcde")
# Match at index 0
>>> ("abcde", 1) # No match;
(string[:50], 0)。具体示例如下。
match
(pattern, string[, flags])
判断 pattern 是否在字符串开头位置匹配。对于 RegexObject,有: match(string[, pos[, endpos]])
match() 函数只在字符串的开始位置尝试匹配正则表达式,也就是只报告从位置 0 开始的匹配情况,而 search() 函数是扫描整个字符串来查找匹配。如果想要搜索整个字符串来寻找匹配,应当用 search()。
split
(pattern, string[, maxsplit=0, flags=0])
此功能很常用,可以将将字符串匹配正则表达式的部分割开并返回一个列表。对
RegexObject,有函数: split(string[, maxsplit=0])
例如,利用上面章节中介绍的语法:
>>> ('\W+', 'test, test, test.')
['test', 'test', 'test', '']
>>> ('(\W+)', ' test, test, test.')
[' test ', ',