Python正则表达式对象如何解决相关问题


Python正则表达式对象在我们的使用中有很多问题需要引起我们注意。下面我们就来看看如何进行Python正则表达式对象的相关技术应用。希望对大家有所帮助。

产生方式:通过

  1. re.compile(pattern,[flags])回   
  2. match( string[, pos[, endpos]]) ;返回string[pos,endpos]匹配   
  3. pattern的MatchObject 

Python代码

  1. split( string[, maxsplit = 0])   
  2. findall( string[, pos[, endpos]])   
  3. sub( repl, string[, count = 0])  

这几个函数和re模块内的相同,只不过是调用形式有点差别

re.几个函数和 正则表达式对象的几个函数,功能相同,但同一程序如果
多次用的这些函数功能,正则表达式对象的几个函数效率高些

matchobject

通过 re.match(……) 和 re.compile(……).match返回

该对象有如下方法和属性:

方法:

  1. group( [group1, ...])   
  2. groups( [default])   
  3. groupdict( [default])   
  4. start( [group])   
  5. end( [group])  

说明这几个函数的最好方法,就是举个例子

  1. matchObj = re.compile(r”(?P\d+)\.(\d*)”)   
  2. m = matchObj.match(’3.14sss’)   
  3. #m = re.match(r”(?P\d+)\.(\d*)”, ‘3.14sss’)   
  4. print m.group()   
  5. print m.group(0)   
  6. print m.group(1)   
  7. print m.group(2)   
  8. print m.group(1,2)   
  9. print m.group(0,1,2)   
  10. print m.groups()   
  11. print m.groupdict()   
  12. print m.start(2)   
  13. print m.string  

输出如下:

  1. 3.14   
  2. 3.14   
  3. 3   
  4. 14   
  5. (’3′, ‘14′)   
  6. (’3.14′, ‘3′, ‘14′)   
  7. (’3′, ‘14′)   
  8. {’int’: ‘3′}   
  9. 2   
  10. 3.14sss  

所以group() 和group(0)返回,匹配的整个表达式的字符串,另外group(i) 就是正则表达式中用第i个“)” 括起来的匹配内容 (’3.14′, ‘3′, ‘14′)最能说明问题了。

相关内容

    暂无相关文章

评论关闭