Estoy tratando de dividir una cadena como esta:
a = "sdfLKC[m2G]TO"
la salida se ve así:
b = ["s", "d", "f", "L", "K", "C", "[m2G]", "T", "O"]
Mi conocimiento de expresiones regulares es básico, y mi código es
b = re.split(r"([.+?])", a)
pero la salida es ["sdfLKC", "[m2G]", "TO"]
También quiero dividir cada personaje si no están entre corchetes, cualquier ayuda será apreciada.
Respuestas
1 para la respuesta № 1Puedes usar re.findall
para encontrar cualquier carácter de una sola palabra o una cadena entre 2 corchetes.
>>> re.findall(r"w|[[^]]+]",a)
["s", "d", "f", "L", "K", "C", "[m2G]", "T", "O"]
1 para la respuesta № 2
Qué pasa re.findall
? es decir, hacer coincidir en lugar de dividir.
>>> re.findall(r"[[^[]]*]|.", a)
["s", "d", "f", "L", "K", "C", "[m2G]", "T", "O"]