本文共 1086 字,大约阅读时间需要 3 分钟。
目录:
Pattern对象 2018/12/20
属性方法:
说明:1) 正则式用 re.compile() 编译生成一个 Pattern 对象2) 通过Pattern提供的一系列方法可以对文本进行匹配查找3) 提高匹配的速度,同时还能使用一些附加的功能。属性:flags # 编译时用的匹配模式。数字形式pattern # 查询编译时的规则groups # 表达式中分组的数量。groupindex # 以表达式中有别名组的别名为键、以该组对应的编号为值的字典,没有别名组不包含在内。groupindex # 规则里的组方法:findall ( targetString [, startPos [,endPos] ] )# 1)findall , match , search ,finditer , sub , subn , split 函数# 2)同re函数区别:# 第一个参数省略;# 添加参数startPos,endPos:查找开始位置和查找结束位置
实例:
# 实例1:p = re.compile(r'(\w+) (\w+)(?P.*)', re.DOTALL)print ("p.pattern:", p.pattern) # p.pattern: (\w+)(\w+)(?P .*)print ("p.flags:", p.flags ) # p.flags: 48print ("p.groups:", p.groups) # p.groups: 3print ("p.groupindex:", p.groupindex )# p.groupindex: {'sign': 3}# 实例2:- 正则式匹配单词、数字、或字母或 '_' 开头,后接字母或数字p=re.compile( r'(?P \b[a-z]+\b)|(?P \b\d+\b)|(?P \b[a-z_]+\w*\b)' , re.I )p.flags # 2re.I # 2p.groups # 3p.pattern # 编译的规则# '(?P \\b[a-z]+\\b)|(?P \\b\\d+\\b)|(?P \\b[a-z_]+\\w*\\b)'p.groupindex # {'num': 2, 'word': 1, 'id': 3}
转载地址:http://hfqbf.baihongyu.com/