4.2.4 正则表达式对象
编译的正则表达式对象支持下列方法和属性:match(string[, pos[, endpos]])
如果在string的开头,零个或多个字符匹配这个正则表达式,返回一个对应的MatchObject实例。如果该字符串不匹配该模式返回None;注意这和零长度([color=Blue]译注[1][/color])的匹配是不同的。
注意:如果你想要找出在string任何位置中的一个匹配,使用search()替代。
可选的第二个参数pos给出查找开始位置在字符串中的一个索引;缺省为0。这不完全地等于切断字符串;’^’模式字符匹配在字符串真正的开头和仅在换行后的位置,而不必在查找开始的索引处。
可选参数endpos限制字符串将被查找的范围;如果字符串和endpos字符长度一样,匹配将从pos到endpos-1查找。如果endpos小于pos,没有匹配将被找到,否则,如果rx是一个编译的正则表达式对象,rx.match(string, 0, 50)等价于rx.match(string[:50],0)。
search(string[, pos[, endpos]])
通过扫描string查找一个这个正则表达式产生匹配的位置,并且返回一个对应的MatchObject实例。如果字符串中没有位置匹配该模式返回None;注意这不同于在字符串的一些点中查找一个零长度的匹配。
可选的pos和endpos参数和match()方法一样有同样的意义。
split(string[, maxsplit = 0])
同split()函数一样,使用编译的模式。
findall(string[, pos[, endpos]])
同findall()函数一样,使用编译的模式。
finditer(string[, pos[, endpos]])
同finditer()函数一样,使用编译的模式。
sub(repl, string[, count = 0])
同sub()函数一样,使用编译的模式。
subn(repl, string[, count = 0])
同subn()函数一样,使用编译的模式。
flags
当RE对象被编译时使用flags参数,如果flags参数没有被提供时,为0。
groupindex
一个映射所有的由(?P<id>)定义的符号组名称给组成员的字典。如果在模式中没有符号组被使用,该字典为空。
pattern
被编译的RE对象中的模式字符串。
[color=Blue]译注[1][/color]. 零长度匹配:零长度匹配可能发生在这样几种情况下:在空白输入字符串中、在输入字符串的开头、在输入字符串的最后一个字符之后或者在输入字符串的任何两个字符之间。零长度匹配很容易识别,因为它们总在同一个索引位置开始和结束。(出处:Java教程(第4版)作者:Sharon Zakhour等著 马朝晖 等译)
出处[url=http://www.okpython.com]Python中国[/url],由zkfarmer翻译整理,提交错误和建议在[url=http://www.zkfarmer.org]这里[/url]。
[[i] 本帖最后由 zkfarmer 于 2008-11-17 10:45 编辑 [/i]]
页:
[1]