❌

Normal view

There are new articles available, click to refresh the page.
Before yesterdayMain stream

Visualize Regular Expressions with Marbles

20 October 2026 at 04:00

If you are one of those people who visualize things physically better than in the abstract, then Regex Marble Run by [bottomless] might be for you. You enter a test expression and a string, and the site generates a virtual marble machine that lets you see the regular expression pick apart the string in a physical way.

Click this link, and you’ll see the regular expression β€œ^[hH]ack.[dD][^0-9]*$” which, if you aren’t a regular expression user, might seem a bit cryptic. However, it is fairly simple if you take it bit-by-bit.

The caret character tells it to match the start of the string. So β€œ^dog” will match β€œdog” and β€œdog food” but won’t match β€œfood for a dog.” The following bit β€œ[hH]” will match either β€œh” or β€œH”. Then there is β€œack” which is just what you think it is. So a string starting with β€œhack” or β€œHack” might match (depending on the rest of the expression.

The period means match any single character. Then there’s another β€œ[]” but this time with β€œdD” to match any kind of D. The next β€œ[]” character class is a range from 0-9, but since there is a caret, the match is negated. So β€œ[^0-9]” means match anything except a digit from 0 to 9. The β€œ*” means we can have zero or more of these. So β€œHackxD” matches, but so does β€œHackxDXYZabc” for now. Trick question: Does β€œHackxDXYZabc123” match? So far, yes, but it only matches to the lowercase β€œc” character.

The final character, β€œ$” means end of string. So now β€œHackxDXYZabc123” does not match because we are still in the middle of the string. However, β€œHackxDXYZabc” will match since the previous β€œ*” β€œate” the rest of the string.

Head spinning? The site will let you see each letter of a test string as a marble that falls through the different parts of the regular expression. Balls that pass wind up in the left-hand box, while failures are in the right-hand box. Will it help you? We don’t know, but it is fun to watch.

Want a refresher on regular expressions? Or perhaps you want some practice?

❌
❌