課題は、Pythonが行うように文字列を解析し、文字列の内容を出力することです。
- 入力(コマンドライン引数またはstdin):文字列リテラル(例:
"hello")(または複数のリテラル、以下の文字列リテラル連結を参照) - 出力(stdout) :文字列の内容(例えば
hello)
文字列を解析するためのルール:
- 文字列リテラルは
'a'、一重引用符()、二重引用符("a")、三重単一引用符('''a''')、または三重二重引用符("""a""")の対応するペアで囲まれます。文字列を開いたタイプの引用符の最初の再発は、文字列を終了します。 - バックスラッシュエスケープ:
\'文字列内となり'、\"となり"と\\なり\。他のバックスラッシュエスケープを実装する必要はありません。エスケープシーケンスの一部ではないバックスラッシュは、バックスラッシュのままです。 - 文字列リテラルの連結:隣接する文字列リテラルの内容が連結されます。たとえば、に
"hello" 'world'なりhelloworldます。 - 入力には、リテラルの一部ではないスペースが含まれている可能性があります。
- リテラルの内外で、他の種類の空白をサポートする必要はありません。
追加のルール:
eval、execおよび同様のものは、リテラルまたはその一部を解析することはできません。- 入力は有効であると想定できます。
- 最大入力長は1023文字と想定できます。
例:
"hello" ' world'->hello world"""\"""'\\\A"""->"""'\\A( '''"""'''"""'''""" )(括弧なし、ただしスペースあり)->"""'''
最短のコードが勝ちます。