python中通过re模块使用正则表达式
import re

常见的使用方法:
生成正则表达式对象

compile(pattern[,flags])
 pattern:正则表达式字符串
 flags:re.I 匹配不区分大小写
 re.S .为包括换行在内的所有字符(原本.不包括换行)

匹配字符串

match(pattern,string,[flags])
 在起始位置匹配,若起始位置不匹配,返回None,反之返回Match对象
search(pattern,string,[flags])
 搜索字符串中第一个匹配的值,成功返回Match对象,失败返回None

findall(pattern,string,[flags])
 搜索所有符合条件的字符串,并以列表形式返回,失败返回空列表,这也是最为常用的方法.

返回的列表:
1.正则表达式内无组时返回所有匹配的字符串的列表
2.当给出的正则表达式中带有一个括号时(即包含一个组),列表的元素为字符串,此字符串的内容与括号中的正则表达式相对应(不是整个正则表达式的匹配内容)
3.当给出的正则表达式中带有多个括号时(即包含组),列表的元素为多个字符串组成的tuple,tuple中字符串个数与括号对数相同,字符串内容与每个括号内的正则表达式相对应,并且排放顺序是按括号出现的顺序。

match对象
常用方法:

group(num=0) 默认返回匹配的整个字符串,加参数(组号),返回该组号的字符串
groups() 返回包含所有组的元组,没有组就为空元组

替换字符串
sub(pattern, replace,string[,count,flags])

count是最大替换次数,默认为0 表示替换所有匹配,返回替换后的文本
replace为替换的字符串,也可以是一个函数,此函数有一个参数为match对象,利用函数可以进行更丰富的操作,例如在匹配位置前后进行增减操作等

def add(s):
    return s.group()+'五'
str1 = "一二三四六七"
x = re.sub(r'四',add,str1)   //x=‘一二三四五六七’

分割字符串
split(pattern,string[,count,flags])

count是最大拆分次数,默认0表示无限次
以正则表达式匹配的字符串为界限分割,返回分割后的列表