Reconocimiento / compresión de patrones de cuerdas de Python

Puedo hacer las expresiones regulares básicas, pero esto es un poco diferente, es decir, no sé cuál será el patrón.

Por ejemplo, tengo una lista de cadenas similares:

lst = ['asometxt0moretxt', 'bsometxt1moretxt', 'aasometxt10moretxt', 'zzsometxt999moretxt']

En este caso, el patrón común es dos segmentos de texto común:'sometxt' y'moretxt', comenzando y separado por otra cosa que es variable en longitud.

Por supuesto, la cadena común y la cadena variable pueden aparecer en cualquier orden y en cualquier número de ocasiones.

¿Cuál sería una buena manera de condensar / comprimir la lista de cadenas en sus partes comunes y variaciones individuales?

Un ejemplo de salida podría ser:

c = ['sometxt', 'moretxt']

v = [('a','0'), ('b','1'), ('aa','10'), ('zz','999')]

Respuestas a la pregunta(6)

Su respuesta a la pregunta