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 "theorem" in the box below (case sensitive):

Archive

Show me a random blog post
 2025 

Jun 2025

A nonogram alphabet

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

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

Archive

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