我想具体说明一个全局的min和max变量,用于检查ID有效性的正则表达式。
例如,设置变量
min=8
max=16
alphanumeric input
然后我希望Python解释的表达式是
r'\w{8,16}\Z'
但我想使用变量min和max而不是将数字硬编码到表达式中。
答案 0 :(得分:6)
没有内置功能,但您可以使用字符串插值构建正则表达式。例如,
regexp = r"\w{%d,%d}\Z" % (minimum, maximum)
当然还有很多其他方法可以构建你想要的正则表达式。关键是你必须自己构建它: - )
顺便说一句,请不要使用名称min
和max
。它们是内置函数,并且对变量使用相同的名称会让人感到困惑 - 包括以后的某些时间,你; - )
答案 1 :(得分:2)
您可以动态构建正则表达式:
regex = r'\w{{{},{}}}\Z'.format(minimum, maximum)