Sofern Sie kein Benutzer-Skript haben, das das Design der Site ändert (oder auch wenn ja), sollten Sie bemerkt haben, dass wir unser Site-Design haben!
Um dies zu feiern, lassen Sie uns ein Programm erstellen, das dieses Design rückwirkend anwendet (natürlich stark vereinfacht)!
Die wichtigsten Änderungen sind also:
- Unser neuer Name lautet jetzt Code Golf und Coding Challenges
- Unsere Seite hat nicht mehr die Standardfarbe Blau, sondern ein schönes Dunkelgrün
Wenn Sie also eine Zeichenfolge angeben, ändern Sie Folgendes:
PPCG
zuCGCC
Programming Puzzles {non-whitespace} Code Golf
zuCode Golf {same-thing} Coding Challenges
(zum BeispielProgramming Puzzles + Code Golf
,and Code Golf
und& Code Golf
alle geändert werden würdenCode Golf + Coding Challenges
,and Coding Challenges
und& Coding Challenges
.#abc
zu#acb
(Blau gegen Grün tauschen und umgekehrt - ignorieren Sie einfach die Tatsache, dass Grün logischerweise nicht zu Blau werden sollte, aber ich möchte die Farbverschiebung nicht erschweren)#abcdef
bis#abefcd
(wie oben)
Beachten Sie, dass Sie für die Farbwechsel jede hexadezimale Ziffer von 0-9
bis akzeptieren sollten a-f
. Sie können wählen, welche Hexadezimalzahl erforderlich ist, diese muss jedoch konsistent sein und von Eingabe zu Ausgabe identisch sein.
Bei Ihren Ersetzungen kann zwischen Groß- und Kleinschreibung unterschieden werden. Falls nicht, geben Sie bitte an, wie die Ausgabe funktioniert.
Die Ersetzungen sollten nur erfolgen, wenn die Zeichenfolge von Wortgrenzen umgeben ist (einschließlich des Anfangs von #
). Mit anderen Worten, jede der angegebenen Ersetzungen sollte nur erfolgen, wenn sich die Übereinstimmung am Rand der Zeichenfolge befindet oder von nicht alphanumerischen Zeichen (auf beiden Seiten) begrenzt wird.
Es gelten Standardlücken. Dies ist eine Code-Golf-Herausforderung, also gewinnt der kürzeste Code!
Beispiele
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
(Für den letzten Testfall muss beachtet werden, dass die übersetzte Zeichenfolge erneut übersetzt werden kann, die Transformation jedoch genau einmal angewendet werden muss. )
Wichtiges Update
(Danke @tsh)
Die Programming Puzzles ... Code Golf
Ersetzungsregel kann die anderen Regeln enthalten ( Programming Puzzles PPCG Code Golf
ist gültig). In diesem Fall können Sie wählen, ob die Regeln angewendet werden sollen oder nicht, sie müssen jedoch deterministisch sein. Ich verlange nicht, dass Sie konsistent sind PPCG
und #...
weil die Antworten die Regeln in meiner Listenreihenfolge zu implementieren scheinen, was zu Inkonsistenzen führt. Dies ist nur eine Klarstellung; Ich glaube, dass alle aktuellen Antworten gültig bleiben.
Programming Puzzles and no substitution Code Golf
könnte auch jemandCode Golf and Programming Puzzles
undProgramming Puzzles and Programming Puzzles and Code Golf
. @Veskah Hmm, und ich denke, dass der letzte vorgeschlagene Testfall in meiner 05AB1E-Antwort fehlschlägt, da ich keine Regex habe ..>. <Zurück zum Zeichenbrett ..Antworten:
Ruby
-p
,165164159 BytesEs war der sed-Antwort sehr ähnlich, aber es missbraucht Rubys String-Interpolation, um die Hex-Gruppenübereinstimmung
([\da-f]{1,2})
innerhalb des dritten regulären Ausdrucks dreimal zu duplizieren, anstatt das Ganze noch einmal wiederholen zu müssen.Probieren Sie es online!
quelle
{1,2}
break nicht mit Hex-Eingängen der Länge 4 oder 5 verwendet, z#aabbc
. Bearbeiten: dies ist der Fall (dieses Beispiel sollte nicht ersetzt werden, da es keine gültige Hex-Farbe ist).-
ist kein alphanumerisches Zeichen).#
ist ein bisschen mehrdeutig, da/\b/
es nicht neben einem anderen nicht-alphanumerischen Zeichen registriert wird, aber ich habe die Änderung trotzdem ohne Byteänderung (Ersetzen\S
durch\w
) vorgenommen(?<!\w)
durch mein(^|\W)
für 1 Zeichen ersetzen ?C ++ (gcc) ,
270285283 BytesVielen Dank an Neil , der auf einen Fehler hingewiesen hat.
-2 Bytes dank ceilingcat.
Probieren Sie es online!
quelle
#fade
und#faced
was sollte es nicht.Retina 0.8.2 ,
153130 BytesProbieren Sie es online! Link enthält Testfälle. Bei allen Ersetzungen wird zwischen Groß- und Kleinschreibung unterschieden. Es wird davon ausgegangen, dass normale Regex-Wortzeichen zulässig sind, sodass
\B#
nur#
s übereinstimmen , die keinem Wortzeichen folgen. Bearbeiten: 22 Bytes dank @tsh gespeichert.quelle
\B#(?=([\da-f]{3}){1,2}\b)(.+?)(..??)(..??)\b
?GNU sed
-E
, 198 ZeichenLauffähig mit zB
sed -E 'the above'
; Zeilenumbrüche können entweder wörtlich aufgenommen oder durch ersetzt werden,;
wenn Sie dies wünschen. Beide arbeiten.@HyperNeutrino komm, diese Wortgrenzenregel ist doof. Schauen Sie, was ich in dem
#
Fall zu tun hatte .Ja, ich habe es nicht einmal versucht. : P
+9 von @Value Ink
quelle
-E
stattdessen "GNU sed " nennen.sed
‚s Regex Matching ermöglichen Verwendung\d
für als Abkürzung0-9
? könnte Ihnen ganze 6 Bytes sparenStax , 85 Bytes
Führen Sie es aus und debuggen Sie es
quelle
05AB1E ,
123109105110114 Bytes+5 Bytes zur Korrektur von Testfällen wie
Programming Puzzles and no substitution Code Golf
undProgramming Puzzles and Programming Puzzles and Code Golf
.+4 Bytes zum
color-#00f
Beheben von Testfällen (Farben mit etwas anderem als Leerzeichen / Zeilenumbrüchen). Vielen Dank an @Grimy , der mich darauf aufmerksam gemacht hat.Groß- und Kleinschreibung beachten. Hexadezimalwerte werden in Kleinbuchstaben angegeben
abcdef
.Programming Puzzles ... Code Golf
ist in Titelbuchstaben;PPCG
ist in Großbuchstaben geschrieben.Probieren Sie es online aus.
Auf jeden Fall nicht die richtige Sprache für den Job. Das Nachahmen von Wortgrenzen und Ersetzen
Programming Puzzles \S+ Code Golf
, aber nichtCode Golf \S+ Programming Puzzles
oderProgramming Puzzles \S+ \S+ Code Golf
ohne Regex, ist ziemlich schwierig (kurz zu machen).>.>Erläuterung:
Sehen Sie diese 05AB1E Spitze von mir (Abschnitt Wie das Wörterbuch benutzen? ) Zu verstehen , warum
”–±ÇÀ”
ist"Programming Puzzles"
;”ƒËŠˆ”
ist"Code Golf"
; und”Âïªï”
ist"Coding Challenges"
.quelle
Python 2 , 240 Bytes
Probieren Sie es online!
quelle
JavaScript (Node.js) , 174 Byte
Probieren Sie es online!
quelle
#abcde
schlägt fehl, da das Regex-Qualifikationsmerkmal{3,6}
zwischen 3 und 6 Zeichen anstelle von 3 oder 6 Zeichen enthält, für die Sie sich entschieden haben.Pyth ,
177173162142 BytesHier ist eine Version ohne Pyths String-Komprimierungsmechanismen (auch bekannt als sicheres Kopieren und Einfügen):
Probieren Sie es online!
Das endete wirklich lange, weil ich versuchte, mit den Regexen so pedantisch wie möglich umzugehen. Ich habe versucht, alle möglichen Zeichenfolgen zu komprimieren, aber die meisten wurden entweder nicht kleiner oder konnten nicht richtig in TIO eingefügt werden.
Erläuterung:
quelle
Perl 5
-p
,152145 Bytes@ValueInk speichert 7 Bytes
Probieren Sie es online!
quelle
( \S+ )(Code Golf)\b/$2$1Coding
Spart 2 Bytes. Auch der letzte reguläre Ausdruck kann mit einem\b
statt(?=\s|$)
\s
sollte\W
stattdessen sein, andernfalls schlägt dieser Fall fehl (-
ist ein nicht alphanumerisches Zeichen, daher sollte die Ersetzung angewendet werden).Java 8, 192 Bytes
Port of @Neils Retina - Antwort , also stelle sicher, dass du ihn positiv bewertest!
Probieren Sie es online aus.
quelle