Koronkorko é a palavra finlandesa para juros compostos . Não queremos interesse composto em nossas strings, portanto, vamos encontrar a expressão regular mais curta possível para excluí-la.
Dada uma sequência que consiste apenas nos caracteres alfabéticos maiúsculos AZ, determine a expressão regular mais curta possível que corresponda à sequência, se ela não contiver a substring KORONKORKO
. Qualquer sequência que contenha KORONKORKO
como substring não deve ser correspondida pelo regex.
Apenas os caracteres A
- Z
, [
, ]
, -
, ^
, ,
?
, *
, +
, |
, (
, e )
deve ser usado na expressão.
Eu acho que isso pode ser feito com 118 caracteres na expressão. Você pode torná-lo mais curto?
Nota: Este desafio é de Ohjelmointiputka (em finlandês).
!
não é permitido.
-
e ^
dentro das classes de caracteres (portanto, ^
não pode ser usado como uma âncora), e uma correspondência só é contada se toda a cadeia de caracteres corresponder ao regex (ou seja, um ambiente implícito ^$
, como opostos aos "regexes" normais que contam uma string como correspondente se alguma parte dela corresponder à regex)
!
fosse um caractere permitido, você poderia ter feito^((?!KORONKORO).)*$
por 19 bytes.