import re

string = "hellomypythonhispythonourpythonend"  # 源字符串
result_not_use_pre = re.findall('.py.', string)  # 未用预编译
print(result_not_use_pre)

print('-' * 30)

pattern = re.compile(
    '.python.')  # 要匹配的正则,re.compile函数可以对一个正则表达式进行预编译,生成一个compiled re object对象,
# 然后再用这个object来做匹配的工作。
# 先单独编译,再做匹配,如果匹配这个动作是反复循环做的,可以提高代码运行效率。
result_use_pre = pattern.findall(string)  # 结果
print(result_use_pre)

若针对判断有循环的匹配,建议预编译加快执行速度。