Python正则表达式对象在我们的使用中有很多问题需要引起我们注意。下面我们就来看看如何进行Python正则表达式对象的相关技术应用。希望对大家有所帮助。
产生方式:通过
- re.compile(pattern,[flags])回
- match( string[, pos[, endpos]]) ;返回string[pos,endpos]匹配
- pattern的MatchObject
Python代码
- split( string[, maxsplit = 0])
- findall( string[, pos[, endpos]])
- sub( repl, string[, count = 0])
这几个函数和re模块内的相同,只不过是调用形式有点差别
re.几个函数和 正则表达式对象的几个函数,功能相同,但同一程序如果
多次用的这些函数功能,正则表达式对象的几个函数效率高些
matchobject
通过 re.match(……) 和 re.compile(……).match返回
该对象有如下方法和属性:
方法:
- group( [group1, ...])
- groups( [default])
- groupdict( [default])
- start( [group])
- end( [group])
说明这几个函数的***方法,就是举个例子
- matchObj = re.compile(r”(?P\d+)\.(\d*)”)
- m = matchObj.match(’3.14sss’)
- #m = re.match(r”(?P\d+)\.(\d*)”, ‘3.14sss’)
- print m.group()
- print m.group(0)
- print m.group(1)
- print m.group(2)
- print m.group(1,2)
- print m.group(0,1,2)
- print m.groups()
- print m.groupdict()
- print m.start(2)
- print m.string
输出如下:
- 3.14
- 3.14
- 3
- 14
- (’3′, ‘14′)
- (’3.14′, ‘3′, ‘14′)
- (’3′, ‘14′)
- {’int’: ‘3′}
- 2
- 3.14sss
所以group() 和group(0)返回,匹配的整个表达式的字符串,另外group(i) 就是正则表达式中用第i个“()” 括起来的匹配内容 (’3.14′, ‘3′, ‘14′)最能说明问题了。
【编辑推荐】