python正则表达式如何封装

一个文本处理函数,需要经常调用正则表达式,文档结构类似于:

def function():
    match=re.match(pattern,string)
        # 省略

现在的问题是,这个function是经常被其它函数调用的:
(1)如果把正则表达式的定义写在function里面,每调用一次function就会重新对这个正则表达式进行编译,会占用很多时间;
(2)如果把正则表达式的定义和编译写在function外面作为全局变量,由于需要用到的正则表达式很多,每个正则表达式都声明为一个全局变量不太合适,请问如何封装比较好?

定义一个class,在init里面将所有正则表达式编译好,然后通过这个class的函数接口来调用对应的正则表达式。

可以存到一个字典里,通过key访问