Koronkorko es la palabra finlandesa para interés compuesto . No queremos interés compuesto en nuestras cadenas, así que busquemos la expresión regular más corta posible para excluirla.
Dada una cadena que consta solo de los caracteres alfabéticos en mayúscula AZ, determine la expresión regular más corta posible que coincida con la cadena si no contiene la subcadena KORONKORKO
. Cualquier cadena que contenga KORONKORKO
como una subcadena no debe coincidir con la expresión regular.
Sólo los caracteres A
- Z
, [
, ]
, -
, ^
, ,
?
, *
, +
, |
, (
, y )
deben ser utilizados en la expresión.
Creo que esto se puede hacer con 118 caracteres en la expresión. ¿Puedes hacerlo más corto?
Nota: Este desafío es de Ohjelmointiputka (en finlandés).
!
que no está permitido .
-
y ^
dentro de las clases de caracteres (por ^
lo que no se puede usar como un ancla), y una coincidencia solo se cuenta si la expresión regular coincide con toda la cadena (es decir, un entorno implícito ^$
, como en oposición a las "expresiones regulares" normales que cuentan una cadena como coincidente si alguna parte de ella coincide con la expresión regular)
!
fuera un personaje permitido, podría haberlo hecho^((?!KORONKORO).)*$
por 19 bytes.