Ben Nadel
On User Experience (UX) Design, JavaScript, ColdFusion, Node.js, Life, and Love.
I am the chief technical officer at InVision App, Inc - a prototyping and collaboration platform for designers, built by designers. I also rock out in JavaScript and ColdFusion 24x7.
Meanwhile on Twitter
Loading latest tweet...
Ben Nadel at cf.Objective() 2012 (Minneapolis, MN) with:

The 5th Annual Regular Expression Day (And Prizes) - June 1st, 2012

By Ben Nadel on

It's June 1st. You know what that means - it's the 5th Annual Regular Expression Day! A day where we set aside our differences and come together, unified as one people, brought together by our love of pattern matching! And, while we all have access to that love year-round, let's make sure we take today to share that love with each other.

NOTE: If you are already completely lost and have no idea what I'm talking about, please checkout my video and slide presentation - Regular Expressions, Extraordinary Power. They will blow your mind and change your world forever.

This year, I was definitely late out of the starting block. I didn't come up with the contest idea until last night. Then, I spend a few frantic hours before bed (and a few more this morning) trying to put it together. All in all, though, I think it came out pretty well! I just hope you have fun playing!

Enough Jibber-Jabber - What Can I Win?!

The point of the game is to match as many Regular Expression patterns in the time allotted (one minute). For each pattern, you have to supply a snippet of Text that the given pattern would match. There will be one grand-prize given to the highest scorer; and, several smaller prizes given, at random, to participating contestants.

Since I'm late at getting this public, I'll let it run until Monday night (June 4th).

NOTE: Patterns in this game are NOT case-sensitive.




Reader Comments

Wow, I was lousy at that! It would be nice if it showed which ones I got right at the end after it's insulted me with "you've got 1 right". ;-)

Normally we work the other way around trying to create a regex to achieve a goal, so it was fun and proves what a great logical language regexes are for COMPUTERS to understand! :-D Good stuff Ben, you never fail to entertain through good tutorials, humour or challenges.

Reply to this Comment

Love the game, Ben. I've played through it a few times, scoring between 14 and 23. So hey, other players, at least you know a number to beat. :)

With some additional features, I think this could actually be a great learning tool. If you ever end up spending more time on it, one thing that might be interesting to look into is some kind of pattern generation/randomization (within constraints), rather than choosing randomly from a list of prewritten patterns.

Reply to this Comment

Okay, I'm done... I feel my score is very respectable... 33 :-)

Can't get past that number...

I need some work with the \b selector... the \b..\b. something or other one always made me pause way too long.

THANKS soo much for putting this together! Regex is the tool that everyone should master

Reply to this Comment

33? That's just not natural! Solving just over 1 per second. You needn't bother owning a computer with that kind of brain power inside your noggin. ;-)

Reply to this Comment

Make that 36. :)

Jason Salvo, I played through it more than a dozen times, so the numbers I (and probably Ben Dalton) posted aren't entirely fair.

Ben Nadel, some of the regexes are very well designed for this challenge. As Ben Dalton mentioned, the \b..\b style regexes, as well as some of those with backreferences, take a moment to think through, which is good. I also like the ones that have a shorter answer (which saves on typing time) than is immediately obvious.

Reply to this Comment

oh man! I was hoping you'd do the pix thing again this year so I'd at least have half a chance! Oh well...I still tried lol. I probably did the worst. I hope you'll leave it up, though, so we can practice with it. I know my score probably won't improve any, but I bet it will help me at least learn a little about reg ex's a little more.

Thanks for having this! It was fun.

Reply to this Comment

Great game. I keep playing even though the contest is over. You should create a leader board and stats (#attempts, % correct, etc) for next year's contest.

Reply to this Comment

Best regex day yet. I hope you'll consider expanding on the game as Quincy suggested. Maybe add a time penalty/reward for getting answers wrong/right. (I found that I can cheat by just skipping the \b..\b one.)

I love the way that a lot of the regexes have an easily guessable answer (like /M(o)(\1|u)se/), but it takes a bit of thinking to figure out why the answer is correct and what not-so-obvious alternatives exist. How can you exploit that? Maybe present the same regex again later and ask for a different answer to the one that was given previously?

Reply to this Comment

@All,

Glad everyone is/had a fun time playing! I know it's taking me a while to get all the scoring done - it's been a busy week. Definitely getting to it today!

Reply to this Comment

I think you should make next "year's" (not sure I really want to wait that long) contest about submitting material for your "input" file. This is one of those fun ways to learn, and more examples would really improve it.

Reply to this Comment

First, I want to thank everyone for their participation - this year was incredibly successful! I had literally *hundreds* of submissions! Totally badass! And, it was awesome to see some people really progressively get better for like 5-10 submissions! Very cool :D

There were a number of people who came in over 60 pattern; considering that there were only 60 seconds to play the game, I have to assume that they figured out how to stop the JavaScript-based timer. Well played ;)

Ok, so taking some extreme outlier into account, the grand winner is:

Jacob Bailey with 41 matches!

Rock on!

Then, I selected 4 additional winners from the submission:

* Angela Buraglia
* Daniel Roberts
* Patrick McElhaney
* Jason Salvo

I'll email you guys regarding your prizes.

Thanks again to everyone who participated. I'll put the code for the game up on GitHub shortly for anyone who is interested!

Reply to this Comment

Wow, awesome! I knew I did well, but I have to admit that I never actually expected to hold the high score.

Thanks for the game Ben! It was insanely fun and I certainly learned a few new tricks while playing.

My regFu is much stronger now... :>

Reply to this Comment

That was fun. I did play the game a few more times. the score improved, but I guess it wouldn't ever improve enough to win or anything. At least I'm learning regex a little better (I think).

Reply to this Comment

Post A Comment

?
You — Get Out Of My Dreams, Get Into My Comments
Live in the Now
Oops!
Comment Etiquette: Please do not post spam. Please keep the comments on-topic. Please do not post unrelated questions or large chunks of code. And, above all, please be nice to each other - we're trying to have a good conversation here.