Hola a todos,

Me ha surgido una duda intentando crear una expresión regular.

Supongamos que tenemos una lista de cadenas que cumplen las siguientes condiciones

 * La longitud de las cadenas es constante, digamos que de longitud N.
 * Las cadenas están formadas sólo por los caracteres A y B.
 * Los caracteres A siempre están alineados a la izquierda.
 * Los caracteres B siempre están alineados a la derecha.
 * Los caracteres A pueden aparecer J veces, siendo 0<=J<=N.
 * Los caracteres B pueden aparecer K veces, siendo 0<=K<=N.
 * J y K son distintos para cada cadena pero siempre se cumple J + K = N.
 * Ejemplos, para N=5: AAAAA, AAAAB, AAABB, AABBB, ABBBB, BBBBB (para
   N=5 no hay más posibilidades).


Cuando N es pequeño podemos poner todas las opciones como alternativas, por ejemplo, para N=2 podemos usar la expresión A{2}|AB|BA|B{2} . Pero para valores mayores de N esta forma de proceder es inviable.

¿Alguien conoce una expresión regular que se pueda usar para cualquier valor de N?

Gracias de antemano.

Saludos.

Jesús Curbelo.

_______________________________________________
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/

Responder a