94468


以下の例だと変数numberに4を入れても

[code]

    import re
    
    number = 4
    print(fr"^\d{{number}}$") # 出力結果 1 ^\d{number}$
    print(fr"^\d{4}$")        # 出力結果 2 ^\d4$
    
[/code]

出力結果2のように正規表現として利用したいのですが、何か方法ございますでしょうか。  
初歩的な質問かもしれませんが、何卒サポート頂けると幸いです。  
タイトル含め、わかりにくい等ございましたらご指摘頂けると幸いです。


CC BY-SA 4.0
2023-04-10T05:44:46.067
94467
2023-04-10T06:05:30.147
2023-04-10T06:05:30.147
3060
51133
question
python 正規表現
正規表現の数字を外出し変数にして、正規表現の変数として利用したい


[書式指定文字列の文法](https://docs.python.org/ja/3.8/library/string.html#format-string-
syntax)

> 波括弧を文字として扱う必要がある場合は、二重にすることでエスケープすることができます: {{ および }} 。

とあるとおり、以下のように記述すればよいです。

[code]

    import re
    
    number = 4
    
    exp = rf'^\d{{{number}}}$'
    print(exp) # ^\d{4}$
    
    m = re.match(exp, '1234')
    print(m) # <re.Match object; span=(0, 4), match='1234'>
    
[/code]


CC BY-SA 4.0
2023-04-10T05:58:12.737
94468
2023-04-10T05:58:12.737
25830
94467
answer