web-dev-qa-db-ja.com

Pythonで正規表現でf-stringを使用する方法

このコードは、生の文字列のみを使用する場合に機能しますが、fをrに追加するとすぐに機能します。動作しなくなります。 f-stringsをreのraw文字列で動作させる方法はありますか?

import re

lines = '''

    04/20/2009; 04/20/09; 4/20/09; 4/3/09
    Mar-20-2009; Mar 20, 2009; March 20, 2009; Mar. 20, 2009; Mar 20 2009;
    20 Mar 2009; 20 March 2009; 20 Mar. 2009; 20 March, 2009
    Mar 20th, 2009; Mar 21st, 2009; Mar 22nd, 2009
    Feb 2009; Sep 2009; Oct 2010
    6/2008; 12/2009
    2009; 2010

'''
rmonth = 'a'
regex = fr'(\d{1,2})/(\d{1,2})/(\d{4}|\d{2})'
date_found = re.findall(regex, lines)

date_found
16
Jeremy Chen

Pythonの新しいfstringsは、独自の方法で角かっこを解釈します。出力で表示する角かっこを2倍にすることでエスケープできます。

regex = fr'(\d{{1,2}})/(\d{{1,2}})/(\d{{4}}|\d{{2}})'
16
Blckknght