re.compile
定义:
re.compile函数根据包含正则表达式的字符串创建pattern(模式)对象,compile意为编译,即编译正则表达式,生成Pattern 对象
语法:
re.compile(pattern[, flag])
其中,pattern 是一个字符串形式的正则表达式,flag 是一个可选参数,表示匹配模式,比如忽略大小写,多行模式等。
用法:
通过re.compile将一个正则表达式编译成 Pattern 对象,然后利用 pattern 的一系列方法对文本进行匹配查找了。
Pattern 对象的方法主要有match ,search ,findall,split,sub等。
compile()函数返回的是一个匹配对象,它单独使用就没有任何意义,需要和findall(), search(), match()搭配使用。
compile()与findall()一起使用,返回一个列表。
compile()与match()一起使用,可返回一个class、str、tuple。但是一定需要注意match(),从位置0开始匹配,匹配不到会返回None
compile()与search()搭配使用, 返回的类型与match()类似, 但是不同的是search(), 可以不从位置0开始匹配。但是匹配一个单词之后,匹配和match()一样,匹配就会结束。
在直接使用字符串表示的正则表达式进行search,match和findall操作时,python会将字符串转换为正则表达式对象。而使用compile完成一次转换之后,在每次使用模式的时候就不用重复转换。当然,使用re.compile()函数进行转换后,re.search(pattern, string)的调用方式就转换为 pattern.search(string)的调用方式。