したがって、次の正規表現を使用してテキストを解析し、特定の辞書から情報を取得しています。
re.sub(r'(<Q\d+>)',lambda m: quotes[m.group(1)][1],text)
私がやりたいことは、置き換えるものが別の辞書のキーである場合にのみ置き換えることです。論理的には、次のようになります。
re.sub(r'(<Q\d+>)',lambda m: quotes[m.group(1)][1] if quotes[m.group(1)][1] in d,text)
以下を実行すると、次の構文エラーが発生します。
>>> re.sub(r'(<Q\d+>)',lambda m: quotes[m.group(1)][1] if quotes[m.group(1)][1] in d,text)
File "<stdin>", line 1
re.sub(r'(<Q\d+>)',lambda m: quotes[m.group(1)][1] if quotes[m.group(1)][1] in d,text)
^
SyntaxError: invalid syntax
この方法でのみ交換するにはどうすればよいですか?