re.compile()
re.compile()优化正则,将正则表达式转化为对象,
re.search(pattern,string)的调用方式转换为pattern.search(string)的调用方式,多次调用一个正则表达式,重复利用这个正则对象。
re.compile()语法格式:
compile(pattern[,flag])
compile(pattern,flag=0)
pattern:一个字符串形式的正则表达式;
flags:可选,表示匹配模式,如:忽略大小写,多行模式
参数:
(1).re.I(re.IGNORECASE):忽略大小写
(2).re.M(MULTILINE):多行模式,改变'^'和'$'的行为
(3).re.S(DOTALL):点任意匹配模式,改变'.'的行为
(4).re.L(LOCALE):使预定字符类\w \W \b \B \s \S 取决于当前区域设定
(5).re.U(UNICODE):使预定字符类 \w \W \b \B \s \S \d \D 取决于unicode定义的字符属性
(6).re.X(VERBOSE):详细模式。 这个模式下正则表达式多行,忽略空白字符,可以加入注释。
例如:
正则表达式为三个”“号引起来的多行字符串,则将匹配模式设置为re.X 多行匹配、
pattern1 = re.compile(r"""\d+ #整数部分
. #小数点
\d #小数部分""",re.X)
2、使用
re.compile()生成的是正则对象,单独使用没有意义。需和findall(),search(),match()搭配使用。
正则表达式在线测试工具:正则表达式在线测试 - 站长工具