mscroggs.co.uk
mscroggs.co.uk

subscribe

Blog

A regular expression Christmas puzzle

 2024-12-22 
I showed off and part-solved a prototype version of this puzzle with Katie Steckles in the fifteenth Finite Group livestream. You can watch a recording of this stream, and watch our future streams if you sign up to our Patreon.
I clearly haven't already made enough Christmas puzzles this year, so I've made another one. If you've used regular expressions before, head straight to mscroggs.co.uk/regexmas to try the puzzle. If you've not, read on...

What is a regular expression

Regular expressions are strings of characters that can be used in multiple programming languages to validate text. Regular expressions are usually written between two / characters. Between the slashes, characters have the following meaning:

The puzzle

My regular expression Christmas puzzle is shown below. You can either solve it on this page or at mscroggs.co.uk/regexmas using the buttons or your keyboard, or you can download this PDF of the puzzle.
In the grid below, write r, g, b, c, m, y, k, or w in every square so that:
The squares containing an r will be coloured red, those containing a g will be coloured green, those containing a b will be coloured blue, those containing a c will be coloured cyan, those containing an m will be coloured magenta, those containing a y will be coloured yellow, those containing a k will be coloured black, and those containing a w will be left white.
r g b c m y k w
/^w+yw+$/
/^([kw]+)[^kw]\1$/
/^(g|wwwg|gww)+.$/
/^wy?g*y+w+$/
/^((w|gg)(ww|g)){3}$/
/^[wg](w|g)[gw](.)\2+\1{2}$/
/^.g*[^y]$/
/^([gk][gk][gk])\1\1$/
/^yw+kw+y$/
/^w*b(bb)+w*$/
/^(w+)w?(bb?)\2\2\1$/
/^(www|bbb)+$/
/^w+gyw+$/
/^[wg]*y[wg]*$/
/^.*gwg.*gwb.*$/
/^[^g]+g+[^g]+$/
/^y?g+y?g+k?b+$/
/^[w]+g*w[^w]+$/
/^w+g+wg+[^g]+$/
/^w*yw*g+w*$/
/^w*y?g?y?w*$/
                        
(Click on one of these icons to react to this blog post)

You might also enjoy...

Comments

Comments in green were written by me. Comments in blue were not written by me.
 Add a Comment 


I will only use your email address to reply to your comment (if a reply is needed).

Allowed HTML tags: <br> <a> <small> <b> <i> <s> <sup> <sub> <u> <spoiler> <ul> <ol> <li> <logo>
To prove you are not a spam bot, please type "bisect" in the box below (case sensitive):

Archive

Show me a random blog post
 2025 

Mar 2025

How to write a crossnumber

Jan 2025

Christmas (2024) is over
Friendly squares
 2024 
▼ show ▼
 2023 
▼ show ▼
 2022 
▼ show ▼
 2021 
▼ show ▼
 2020 
▼ show ▼
 2019 
▼ show ▼
 2018 
▼ show ▼
 2017 
▼ show ▼
 2016 
▼ show ▼
 2015 
▼ show ▼
 2014 
▼ show ▼
 2013 
▼ show ▼
 2012 
▼ show ▼

Tags

dragon curves christmas card turtles raspberry pi cambridge regular expressions london sound the aperiodical manchester science festival pac-man friendly squares video games fractals folding tube maps databet realhats interpolation triangles rugby correlation speed harriss spiral gather town gaussian elimination big internet math-off frobel football pi approximation day latex fence posts braiding convergence pascal's triangle mean books dataset sport bodmas hats stickers folding paper platonic solids noughts and crosses propositional calculus a gamut of games computational complexity logs chess live stream sobolev spaces hannah fry curvature stirling numbers wave scattering crochet estimation rhombicuboctahedron game of life pi european cup hexapawn light arithmetic royal institution geometry matt parker edinburgh finite element method programming crossnumbers craft python electromagnetic field accuracy approximation phd inverse matrices probability go data bubble bobble royal baby bempp polynomials trigonometry 24 hour maths matrix of minors puzzles tennis datasaurus dozen wool national lottery game show probability newcastle manchester javascript pythagoras inline code oeis talking maths in public nine men's morris simultaneous equations data visualisation matrices bots flexagons exponential growth draughts world cup squares binary kings statistics numbers misleading statistics martin gardner php runge's phenomenon captain scarlet quadrilaterals error bars countdown crosswords palindromes dates tmip boundary element methods mathslogicbot reuleaux polygons chebyshev errors news graphs fonts chalkdust magazine sorting finite group weak imposition reddit standard deviation gerry anderson dinosaurs graph theory logo zines christmas radio 4 people maths mathsjam matrix of cofactors coins mathsteroids logic map projections weather station plastic ratio ternary signorini conditions golden ratio determinants machine learning youtube recursion matrix multiplication numerical analysis crossnumber advent calendar geogebra menace hyperbolic surfaces golden spiral anscombe's quartet pizza cutting cross stitch final fantasy london underground guest posts asteroids games ucl preconditioning

Archive

Show me a random blog post
▼ show ▼
© Matthew Scroggs 2012–2025