正则表达式设计原则
1. 正确性,能够正确的匹配要求内容
2. 唯一性,除了需要匹配的内容,尽可能不匹配不需要 的内容
3. 全面性,对目标特征考虑全面不遗漏
re模块
regex = re.compile(pattern,flags = 0)
功能:生成正则表达式对象
参数:pattern 正则表达式
flags 功能标志位,丰富正则的匹配功能
返回值: 正则表达式对象
list = re.findall(pattern,string,flags)
功能 : 根据正则表达式匹配目标字符串
参数 : pattern 正则表达式
string 目标字符串
返回 : 返回一个列表,内部为匹配到的内容
* 如果正则表达式有分组则只显示子组内容
list = regex.findall(string,pos=0,endpos=999)
功能 : 根据正则表达式匹配目标字符串
参数 : string 目标字符串
pos 标明从目标字符串的哪个位置开始匹配
endpos 标明匹配到目标字符串的哪里
返回 : 返回一个列表,内部为匹配到的内容
re.split(pattern,string,flags=0)
功能 : 通过正则表达式分隔字符串
参数 : pattern 正则
string 目标字符串
返回值 : 分割后字符串列表
re.sub(pattern,replaceStr,string,max,flags)
功能: 替换正则表达式匹配到的内容
参数: pattern 正则
replaceStr 要替换的内容
string 目标字符串
max 最多替换几处
返回值 : 返回替换后的字符串
re.subn(pattern,replaceStr,string,max,flags)
功能: 替换正则表达式匹配到的内容
参数: pattern 正则
replaceStr 要替换的内容
string 目标字符串
max 最多替换几处
返回值 : 返回替换后的字符串和替换了几处
re.finditer(pattern,string,flags)
功能 : 使用正则表达式匹配目标字符串
参数: pattern 正则
string 目标字符串
返回值 : 将匹配内容生成迭代器
re.fullmatch(pattern,string,flags)
功能 : 完全匹配目标字符串
参数: pattern 正则
string 目标字符串
返回值 : 匹配到的内容 (match object)
obj = re.match(pattern,string,flags)
功能 : 匹配目标字符串开头
参数: pattern 正则
string 目标字符串
返回值 : 匹配到的内容 (match object)
obj = re.search(pattern,string,flags)
功能 : 匹配目标字符串,只能匹配第一处
参数: pattern 正则
string 目标字符串
返回值 : 匹配到的内容 (match object)
* 生成match对象如果失败会返回None ,则无法调用match对象属性,此时会产生异常。
compile生成的正则对象属性
pattern 正则对象对应的正则表达式
flags 获取标志位值
groupindex 获取捕获组形成的字典 组名为键,第几组 为值
groups 多少子组