假设您要创建一个匹配var
个连续数字序列的模式。你可以这样做:
p = re.compile(r"\d{"+str(var)+"}")
或者这样:
p = re.compile(r"\d{%d}" % var)
但你怎么用format()来做呢?
我试过了两个:
p = re.compile(r"\d{0}".format(var))
和
p = re.compile(r"\d{{0}}".format(var))
但这些都没有奏效。
答案 0 :(得分:5)
您需要实际拥有三个{
和}
- 两个用于转义的文字大括号,另一个用于占位符:
In [1]: var = 6
In [2]: r"\d{}".format(var)
Out[2]: '\\d{6}'