Isso é muito mais avançado do que Como aleatoriamente letras em uma palavra e Transposição de Cambridge, devido à regra sobre quais letras podem ser trocadas por quais. Um regex simples não será suficiente aqui.
É sabido que um texto ainda pode ser lido enquanto as entranhas de suas palavras foram embaralhadas, desde que a primeira e a última letras e os contornos gerais permaneçam constantes. Dado um texto imprimível Ascii + Newline, embaralhe cada palavra de acordo com estas regras:
O embaralhamento deve ser (pseudo) aleatório.
Uma palavra é uma sequência de caracteres latinos, de A a Z.
Somente as letras iniciais serão sempre em maiúsculas.
A primeira e a última letras devem permanecer intocadas.
Ao embaralhar, apenas as letras de um dos seguintes grupos podem trocar de lugar:
acemnorsuvwxz
bdfhkl
gpqy
it
j
(permanece no lugar)
Exemplo
Srcmable consome enquanto psrrnveieg seus oeiltnus
É sabido que um txet ainda pode ser lido enquanto as entradas de seus cabos foram alteradas, desde que suas primeiras letras e suas letras mais suas letras maiúsculas e minúsculas não possam. Dado um padrão Acsii + Nwnliee txet, samrclbe ecah word anoccdirg to relus:
Smncrbliag deve ser (pusedo) rondam.
Um wrod é uma sequência dos chreratacs latinos, A thurogh Z.
Somente as primeiras empresas nunca serão atualizadas.
As letras fisrt e lsat devem permanecer atualizadas.
Ao confirmar, apenas as letras de um dos guiões da fwllnoiog podem trocar trocas:
aneusvrowxmcz
bhkfdl
gqpy
it
j
(permanece em plcae)Emxaple
t
do grupo 2? Ou talvez colocar t
um grupo 4 com i
?
printable
/ patnirlbe
não é bem legível. Eu acho que o i
/ t
swap é o culpado. Hmm ... paintrlbe
Não, isso também não ajudou. Provavelmente é o pr
/ pa
swap, então. O esquema mantém, mas acho que li "pr" e "pa" como sendo semanticamente (?) 1 letra. prtnialbe
Ah sim. Isso foi o que aconteceu. Não tenho certeza se posso oferecer uma correção para o algoritmo.
t
é suposto ser mais curto do que,h
embora muitas pessoas não o escrevam.