El desafío es analizar una cadena como lo hace Python e imprimir el contenido de la cadena.
- Entrada (argumento de línea de comando o stdin) : un literal de cadena (p
"hello". Ej. ) (O múltiples literales, consulte la concatenación de literal de cadena a continuación) - Salida (stdout) : el contenido de la cadena (por ejemplo
hello)
Reglas para analizar la cadena:
- Un literal de cadena se encierra en pares coincidentes de comillas simples (
'a'), comillas dobles ("a"), comillas simples triples ('''a''') o comillas dobles triples ("""a"""). La primera recurrencia del tipo de comillas que abrió la cadena termina la cadena. - La barra invertida se escapa:
\'dentro de una cadena se convierte', se\"convierte"y se\\convierte\. No necesita implementar ningún otro escape de barra diagonal inversa. Una barra invertida que no forma parte de una secuencia de escape sigue siendo una barra invertida. - Concatenación de cadenas literales: el contenido de las cadenas literales adyacentes se concatena. Por ejemplo, se
"hello" 'world'conviertehelloworld. - La entrada puede contener espacios que no forman parte de ningún literal.
- No necesita admitir ningún otro tipo de espacio en blanco, ni dentro ni fuera de los literales.
Reglas adicionales:
eval,execy cosas similares no están permitidas para analizar el literal o partes de él.- Puede suponer que la entrada es válida.
- Puede asumir una longitud de entrada máxima de 1023 caracteres.
Ejemplos:
"hello" ' world'->hello world"""\"""'\\\A"""->"""'\\A( '''"""'''"""'''""" )(sin paréntesis, pero con espacios) ->"""'''
El código más corto gana.