Python regex:将re-pattern格式与variab相结合

2024-05-08 21:50:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我想结合一个python变量和模式。我该怎么做?

下面是我想做的。

re.search(r'**some_variable+pattern**',str_for_pattern_match,flags)

谢谢你的帮助。


Tags: reforsearchmatch模式somevariableflags
3条回答

通常的字符串格式化方式工作得很好

re.search(r'**%s+pattern**' % some_variable, str_for_pattern_match, flags)
re.search(r'**{0}+pattern**'.format(variable_name), str_for_pattern_match, flags)

现在所有的{…}将被解释为string format占位符。

正则表达式模式并不是Python特别处理的一些特殊的额外内容。模式只是一个非常普通的字符串值,re模块将其解释为模式。

所以问题不是“如何在模式中使用变量?”,而是“如何基于变量构造字符串?”。

Python文档有很多关于如何做到这一点的信息。特别有用的是string methods上的文档。对于构造正则表达式来说,其中最重要的可能是str.format(如eumiro的答案所示),其中a large section of its own描述了如何以您所希望的任何方式将基本数据类型格式化为模板字符串。

如果您能够掌握字符串的基本操作,那么将变量插入正则表达式将是您所能做的最起码的事情!

相关问题 更多 >

    热门问题