re.compile()的用法区别

问题1: re.compile()和我直接用字符串代替正则表达式有什么区别?

content = "Hello,No,Yes,Ok"
re_str = r"\w*o\w*"  # 正则表达式的字符串
regex = re.compile(r"\w*o\w*") # compile生成正则表达式
x1 = re.findall(re_str,content)
x2 = re.findall(regex,content)
print(x1)
print(x2)
# ['Hello', 'No']
# ['Hello', 'No']

问题2: re.compile(),两种调用方式有什么区别

content = "Hello,No,Yes,Ok"
regex = re.compile(r"\w*o\w*")
x1 = regex.findall(content)
x2 = re.findall(regex,content)
print(x1)
print(x2)
# ['Hello', 'No']
# ['Hello', 'No']

没啥区别,你先complie就能用这个complie后的变量的findall方法,看起来更直观一些

一个表达式用多次的话可以用这个来存着,以后就不用写多次了

参考: