変数の値に基づいて正規表現検索を行いたいと思います。
Py2.x では、これは非常にうまく機能します。
pattern = re.compile(r"\b[a-zA-Z]{%(min_length)d,}\b" % locals())
それを新しい str.format() 表記に移植しようとすると、次のようになります。
pattern = re.compile(r"\b[a-zA-Z]{{0},}\b".format(min_length))
これにより、繰り返しの中括弧が str.format() のものと混同されるため、エラーが発生します。
ValueError: Single '}' encountered in format string
format() が繰り返しと衝突するこのような例をもっと思いつくことができると確信しています。
str.format()を介して正規表現の繰り返しに外部値を供給する正しい方法は何ですか? % 演算子は Py3 では機能しません。