A menos que você tenha um script de usuário que modifique o design do site (ou mesmo se houver), você deve ter notado que temos o design do site!
Então, para comemorar, vamos criar um programa que aplique retroativamente esse design (simplificado demais, é claro)!
Portanto, as mudanças mais importantes são:
- nosso novo nome agora é Code Golf and Coding Challenges
- nosso site não é mais a cor azul padrão e é um bom verde escuro
Então, dada uma string, mude:
PPCGparaCGCCProgramming Puzzles {non-whitespace} Code GolfparaCode Golf {same-thing} Coding Challenges(por exemplo,Programming Puzzles + Code Golf,and Code Golfe& Code Golftudo seria alterado paraCode Golf + Coding Challenges,and Coding Challenges, e& Coding Challenges.#abcpara#acb(alternar azul para verde e vice-versa - apenas ignore o fato de que o verde não deve logicamente se tornar azul, mas não quero complicar a mudança de cor)#abcdefpara#abefcd(o mesmo que acima)
Observe que, para as trocas de cores, você deve aceitar qualquer dígito hexadecimal de 0-9a a-f. Você pode escolher qual caso de dígito hexadecimal exigir, mas deve ser consistente e o mesmo da entrada à saída.
Suas substituições podem fazer distinção entre maiúsculas e minúsculas e, caso contrário, especifique como a saída funciona.
As substituições só devem acontecer quando a string estiver cercada por limites de palavras (incluindo o início da #). Em outras palavras, cada uma das substituições especificadas deve ocorrer apenas se a correspondência estiver na borda da sequência ou for delimitada por caracteres não alfanuméricos (nos dois lados).
Aplicam-se brechas padrão. Este é um desafio do código-golfe, portanto o código mais curto vence!
Exemplos
PPCG -> CGCC
Programming Puzzles or Code Golf -> Code Golf or Coding Challenges
PPCG stands for Programming Puzzles and Code Golf and its site color is #abf -> CGCC stands for Code Golf and Coding Challenges and its site color is #afb
The color #00f is much more intense than #5568ed -> The color #0f0 is much more intense than #55ed68
Programming Puzzles and No Substitution -> Programming Puzzles and No Substitution
No Substitution and Code Golf -> No Substitution and Code Golf
Programming Puzzles and no substitution Code Golf -> Programming Puzzles and no substitution Code Golf
Code Golf and Programming Puzzles -> Code Golf and Programming Puzzles
Programming Puzzles and Programming Puzzles and Code Golf -> Programming Puzzles and Code Golf and Coding Challenges
(para o último caso de teste, é importante observar que a sequência traduzida pode ser convertida novamente, mas a transformação deve ser aplicada exatamente uma vez)
Atualização importante
(Obrigado @tsh)
A Programming Puzzles ... Code Golfregra de substituição pode incluir as outras regras dentro dela ( Programming Puzzles PPCG Code Golfé válida). Nesse caso, você pode escolher se as regras são ou não aplicadas, mas devem ser determinísticas. Não estou exigindo que você seja consistente entre PPCGe #...porque as respostas parecem implementar as regras em minha ordem de lista, o que resulta em inconsistências. Isso é apenas um esclarecimento; Eu acredito que todas as respostas atuais permanecem válidas.
Programming Puzzles and no substitution Code Golfque também pode pegar alguém (mesmo que todo mundo esteja usando o mesmo regex válido)
Code Golf and Programming Puzzlese Programming Puzzles and Programming Puzzles and Code Golf. @Veskah Hmm, e acho que o último caso de teste sugerido falha na minha resposta 05AB1E, já que não tenho regex ..>. <Voltar para a prancheta ..