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 "c" then "o" then "s" then "i" then "n" then "e" in the box below (case sensitive):

Archive

Show me a random blog post
 2026 

May 2026

World Cup stickers 2026

Apr 2026

A new puzzle every day
Mixing Wordle with other games

Feb 2026

Christmas (2025) is over
 2025 

Dec 2025

Christmas card 2025

Nov 2025

Christmas (2025) is coming!

Sep 2025

The partridge puzzle

Aug 2025

TMiP 2025 puzzle hunt

Jun 2025

A nonogram alphabet

Mar 2025

How to write a crossnumber

Jan 2025

Christmas (2024) is over
Friendly squares
 2024 

Dec 2024

A regular expression Christmas puzzle
Christmas card 2024

Nov 2024

Christmas (2024) is coming!

Feb 2024

Zines, pt. 2

Jan 2024

Christmas (2023) is over
 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

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

Archive

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