Python正则表达式re模块

 

re.compile(pattern,flags=0)
将正则表达式编译成正则表达式对象。可以使用match()和search()方法进行匹配。对于常用的表达式可以先进行编译,后续可多次使用以提高效率。如
r = re.compile(r'a')
rt = r.search('delav')
rt.group() #结果为'a'

re.match(pattern,strings)
匹配字符串开头,并返回一个matchobject实例,如果匹配失败,则返回None。返回的实例可使用re.group()来返回匹配到的结果。如
r = re.match(r'de', 'Delav')
r.group()  #结果为de

re.search(pattern,strings)
匹配字符串任意位置(只返回字符串第一个位置的匹配项),并返回一个matchobject实例,如果匹配失败,则返回None。返回的实例可使用re.group()来返回匹配到的结果。如
r = re.search(r'la', 'Delav')
r.group()  #结果为'la'

re.findall(pattern,strings)
匹配字符串任意位置,返回从左到右匹配到的匹配项的列表,可以是零个、一个或多个。如
r = re.findall(r'e', 'delaver')  #结果为['e','e']

re.finditer(pattern,strings)
从左到右进行匹配,返回一个包含matchobject实例的迭代器。如
r = re.finditer(r'e', 'delaver')
for i in r:
  i.group() #结果为'e', 'e'

re.split(pattern,strings,maxsplit=0)
以匹配到的匹配项来分割字符串,并返回一个分割后的字符串列表。maxsplit表示最多分隔次数。如
r = re.split(r';|,|=', 'de,lo;pe=wq')  #结果为['de', 'lo', 'pe', 'wq']
r = re.split(r';|,|=', 'de,lo'pe=wq', maxsplit=2) #结果为['de', 'lo', 'pe=wq']

re.sub(pattern,repl,strings,count=0)
用repl来替换匹配到的匹配项,并返回替换后的字符串。count表示最大替换次数。如
r = re.sub(r'e', '@', 'delaver')  #结果为'd@lav@r'
r = re.sub(r'e', '@', 'delaver', count=1) #结果为'd@laver'

re.sub(pattern,repl,strings,count=0)
与sub()相同作用,只是subn()返回的是替换后的字符串和替换次数组成的元组。如
r = re.subn(r'e', '@', 'delavererefe')  #结果为('d@lav@r@r@f@', 5)
r = re.subn(r'e', '@', 'delavererefe', count=3)  #结果为('d@lav@r@refe', 3)

re.escape(pattern)
将字符串中所有可能被解释为正则运算符的字符进行转义。如
re.escape('python.exe')  #结果为'python\.exe'

re.purge()

清楚正则表达式缓存

 
 
 

 

 

 

 


 








posted @ 2018-07-31 14:10  傲娇的草履虫  阅读(226)  评论(0编辑  收藏  举报