mscroggs.co.uk
mscroggs.co.uk

subscribe

Blog

 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 "p" then "r" then "i" then "m" then "e" in the box below (case sensitive):

Archive

Show me a random blog post
 2026 

Feb 2026

Christmas (2025) is over
 2025 
▼ show ▼
 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

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

Archive

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