首页 > 代码库 > python之re模块

python之re模块

python的正则表达式功能是用re模块相应的函数实现:

http://www.cnblogs.com/vamei/archive/2012/08/31/2661870.html

http://www.cnblogs.com/tina-python/p/5508402.html

 

1.将要搜索的正则表达式格式化:

pattern=re.compile()

a=‘abc123cdc‘
pattern=re.complile(‘.+3‘)
m=pattern.search(a)
m.group()
#‘abc123‘

  

2.搜索

m=re.search(pattern,string)

m=re.match(pattern,string)

返回m是一个match对象,该对象拥有多个方法,常用的是group():返回的是匹配RE的字符串。

 

两种特别的pattern和相应的group()用法

1).pattern以()间隔,group中以位置选取

a="abc123cfd.df/df"
f=re.search(‘(ab.).+(/d.)‘,a)
f.group(0)  
#abc123cfd.df/df
f.group(1)
#abc
f.group(2)
#./df

2).pattern以(?P<  >)间隔,group中以命名来选取

a="abc123cfd.df/df"
f=re.search(‘(?P<name>abc)‘,a)
f.group(‘name‘)
#abc

  

3.搜索所有匹配,并返回一个列表(search()和match()函数只能搜到第一个匹配字符串)

re.findall(pattern, string, flags=0):遍历匹配,可以获取字符串中所有匹配的字符串,返回一个列表

a=‘abc/adc/eadf/‘
f=re.findall(‘.c‘,a)
f
#[‘bc‘,‘dc‘]

  

 

python之re模块