有没有办法在正则表达式中输入输入变量?

时间:2017-12-07 15:44:53

标签: python regex

编辑:显然,这是正则表达式中的字符串插值。谢谢你澄清。

我有一个名为omj的输入函数。

omj 

当我运行它时,它给了我

"obik"

然后我在这个正则表达式函数中使用该输出

re.findall("\w*obik\w*",dataframe)

我收到了确实我想要的内容,这就是答案

"Yaobikuni"

请注意,“obik”在单词中,并且只有一个匹配。有没有办法将输入omj放在正则表达式函数中以直接获得Yaobikuni,或者这是唯一可行的方法吗?

编辑:我不明白为什么人们会贬低,但我想我已经明确表示omj可以被视为一个输入字符串,可以给出答案。

omj = """obik"""

EDIT2 :感谢您帮助@Nick Chapman。我第一次尝试这个,我认为可能无法在正则表达式函数上输入omj:

re.findall("\w*"omj"\w*",dataframe)

2 个答案:

答案 0 :(得分:1)

第一个参数只是一个字符串,所以你真正的问题是如何在Python中进行字符串插值。

这个怎么样:

re.findall("\w*{}\w*".format(omj()), dataframe)

答案 1 :(得分:0)

你不能做

re.findall("\w*" + omj + "\w*",dataframe)