正则表达式的优点有: ①灵活性、逻辑性和功能性非常强 ②可以迅速地用极简单的方式达到字符串的复杂控制 python使用正则表达式需要导入re包,因为re包是python自带的,所以无需下载就可以使用。
下面这些是正则表达式的常用方法 模板re包含使用正则表达式的函数。 1、search(pattern, string[, flags]) (1)在给定字符串查找第一个与正则表达式匹配的子串,如果找到将返回MatchObject对象(结果为真),否则返回None 参数 pattern 为正则表达式,string 为要匹配的字符串,flags为标志位,控制是否区分大小写等等。 (2)MatchObject对象 MatchObject对象包含与模式匹配的子串的信息,这些子串部分称为编组。 编组就是放在圆括号内的子模式,根据左边的括号数编号,其中编组0指的是整个模式。 MatchObject对象的几个重要方法 groups() 返回一个包含所有编组字符串的元组,从 1 到 所含的编组,不包含编组0。 group([group1, …]) 获取与给定子模式(编组)匹配的子串,没有指定编组号则默认为0 start([group]) 返回与给定编组匹配的子串的起始位置 end([group]) 返回与给定编组匹配的子串的终止位置(与切片一样不包含终止位置) span([group]) 返回与给定编组匹配的子串的起始位置和终止位置 2、match(pattern, string[, flags]) match函数与search函数类似,不同之处是在给定字符串开头查找与正则表达式匹配的子串。 3、compile(pattern[, flags]) 调用search、match等函数时,如果提供的是用字符串表示的正则表达式,内部会将它们转换为模式对象。compile将字符串表示的正则表达式转换为模式对象,内部无需再进行转换。模式对象也有搜索/匹配方法,因此pat = re.compile(pattern[, flags]) pat.search(string) (pat是使用 compile创建的模式对象)等价于re.search(pattern, string[, flags]) 4、split(pattern, string[, maxsplit=0]) 根据模式来分割字符串,返回列表 5、findall(pattern, string) 返回一个列表,其中包含字符串中所有与模式匹配的子串 6、sub(pattern, repl, string[, count=0]) 将字符串中与模式pattern匹配的子串都替换为repl