

正規表現内で変数が使えません。  
特定の月の日付を集計したいのですが以下ですとうまくいきませんでした。

[code]

    month=input()
    re.findall(r'month/([0-9]{1,2})',data)
    
[/code]

どうすればよいでしょうか。


CC BY-SA 4.0
2018-12-27T06:08:24.400
51548
2018-12-27T08:11:21.167
2018-12-27T08:11:21.167
19110
31192
question
python python3 正規表現
正規表現内の変数


正規表現で`month`が文字列になっていることがうまくいかない原因と予想されます。  
下記のコードのように`format`関数などで月を書き換えてみてください。

[code]

    import re
    month = input()  // "01"を入力
    
    data = """01/30
    01/AA
    02/20""" 
    
    print(r'month/([0-9]{1,2})') # month/({0-9]{1,2}) が出力される
    pattern = '{}/([0-9]{{1,2}})'.format(month)  # r''でない場合は、{{と}}が{と}に変換される
    re.findall(pattern, data) # ['30']
    
[/code]

それでもうまく行かない場合はエラーメッセージなどを追記してください。


CC BY-SA 4.0
2018-12-27T07:19:38.167
51549
2018-12-27T07:19:38.167
9820
51548
answer