Buscar permutación de caracteres de una subcadena en Python
Estoy tratando de extraer las ocurrencias de una cadena y de todas las permutaciones de sus caracteres de una línea de texto.
Por ejemplo, necesito extraer la cadenat = 'ABC'
y todas sus permutaciones: 'ABC', 'CAB', 'BCA', 'BAC', 'CBA', de la siguiente cadena s:
s = 'ABCXABCXXACXXBACXXBCA'
Los resultados son:ABC
, ABC
, BAC
, BCA
La cuerdat
debe tener cualquier longitud y puede contener cualquier carácter en[A-Z]
, [a-z]
y[0-9]
¿Hay alguna manera de obtener el resultado mediante el uso de expresiones regulares en Python?
Sé que podría crear una lista de todas las permutaciones y luego hacer una búsqueda por separado de todos los elementos de la lista, pero me preguntaba si las expresiones regulares pueden proporcionar los resultados de una manera más compacta y rápida.