前提・実現したいこと
pythonで正規表現に一致した部分の一部を別の関数に渡して、処理をしたい
発生している問題
下記コードで正規表現に一致した部分を\1
として他の関数(replacement_word)に渡すと、
replcement_word内ではstr
型の\1
になってしまいます。
正規表現に一致した部分を別の関数に渡した際に、一致した部分を文字列として関数の処理をすることはできないでしょうか。
python
1def replacement(text): 2 replacement_text = re.sub(r'[command((.+))]', replacement_word(r'\1'), text 3 return replacement_text 4 5def replacement_word(command_name): 6 type(command_name)#<class 'str'> 7 print(command_name)#\1 8 #本来は一致した文字列で下のif文を処理したい 9 if str(command_name) == 'str1': 10 return 'commandは' + command_name + 'です' 11 else: 12 return 'そのほかのコマンドです'
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/08/13 15:45