如何在Python正则表达式中使用变量

Mur*_*hna 8 python regex

我需要在python正则表达式中使用变量

for line in re.findall('(.+)33084-2(.+)', Data):
Run Code Online (Sandbox Code Playgroud)

我使用上面的代码来匹配33084-2的行,有时这个值会发生变化所以我需要使用变量之类的

for line in re.findall('(.+)Var_Name(.+)', Data):
Run Code Online (Sandbox Code Playgroud)

请帮我如何在python正则表达式中使用变量

提前致谢

Dun*_*can 11

如果您知道变量不能包含正则表达式中具有特殊含义的任何字符,只需使用字符串连接或任何其他方法来创建字符串.

for line in re.findall('(.+)'+Var_Name+'(.+)', Data):
Run Code Online (Sandbox Code Playgroud)

如果变量有可能包含特殊字符,则首先将其转义:

for line in re.findall('(.+)'+re.escape(Var_Name)+'(.+)', Data):
Run Code Online (Sandbox Code Playgroud)


小智 9

试试这个简单的方法:

for line in re.findall('(.+){0}(.+)'.format(Var_Name), Data):
Run Code Online (Sandbox Code Playgroud)