A true regex tester

How often have you been bitten by a regex? Here's how the story usually goes.

Two months ago, you spent 20 minutes crafting a regex. Today, you realize it has a bug and begin fixing it. Except that it now reminds you more of hi­ero­glyph­ics:

</?\w+((\s+\w+(\s*=\s*(?:"".*?""|'.*?'|[^'"">\s]+))?)+\s*|\s*)/?>

And there aren't any unit tests, because you were nearing a deadline, and writing good unit tests for regular ex­pres­sions is more tedious than most unit tests. Now you have to spend another 20 minutes figuring out what the regex does before fixing it. You finally fix it and push it to production, only to realize that there was a case that used to work continue.

A composable regex repository

Debuggex has launched a regex repository! Starting today, this is how you can match an IPv4 address on our site:

(?&.ipv4)

(The (?& syntax is borrowed from PCRE's regex sub­rou­tines.)

The concept is really simple - Debuggex has a list of pre-built ex­pres­sions that you can use instead of wasting your time figuring them out by yourself. We've already got a list of almost a hundred ex­pres­sions, and we are constantly adding more.

There are a few key features that make our im­ple­men­ta­tion sig­nif­i­cant­ly better than what you may have seen in other places.

Unit Tests

Debuggex was designed from the start with unit-testing and backwards com­pat­i­bil­i­ty in mind. Each regex in the repository continue.

Sneak Preview of PCRE Support in Debuggex

I'm happy to announce that, starting on Saturday, Debuggex will have support for PCRE regular ex­pres­sions!

Everybody will have free access until August 1st (tell your friends!). This will be extended until August 15th for those that login with their Persona account.

While I'm putting on the finishing touches, here's a preview:

  • Look­be­hinds Debuggex shows you a backwards-facing sub-diagram to match your intuition about how a lookbehind works.

    (?<!fire)truck

  • More Flags PCRE supports more flags than JavaScript, and Debuggex now supports them as well. On top of that, Debuggex makes your life easier by showing you you exactly what your inline flags are acting upon.

    foo(?i)bar(?x)baz continue.

How my crowdfunding turned into singlefunding

The crowd­fund­ing market validation campaign for Debuggex (a visual regex tester) ended 4 days ago. I had the very specific goal of getting 20 paying customers in 20 days. Un­for­tu­nate­ly, I didn't succeed. However, I did reach my funding goal of $960. Debuggex received a total of $4374 in preorders, almost all of it from a single customer.

To provide some context, the campaign launched 4 weeks ago and was heavily aimed at single user sub­scrip­tions. There were basic ($48) and pro ($140) tiers with varying levels of features, and a cheaper perk to get a Debuggex themed poster ($25) for those that wanted to support the product but weren't continue.

Persona is the only way to login

A couple of weeks ago, Debuggex gave you the ability to create an account and save regular ex­pres­sions to the account.

Au­then­ti­ca­tion for your account is provided ex­clu­sive­ly through Mozilla Persona, and I'd like to explain why that decision was made.

  1. Debuggex is still a one-man team. Resources are very con­strained, and time has to be properly managed. I want to focus on building a kick-ass platform for your regular ex­pres­sions. Mozilla is building a kick-ass identity provider/protocol, and using Persona costs me sub­stan­tial­ly less effort than rolling out my own.

  2. I don't want to manage your password. Countless mistakes have been made continue.

(Ab)using crowdfunding to validate your market

Today, I am announcing the launch of a crowd­fund­ing campaign for Debuggex, but there's a twist.

While most campaigns are built to raise enough funds to make a project possible, that's not the goal for Debuggex. Instead, the primary goal is to validate the market.

Debuggex is still in beta. However, for all but the simplest regular ex­pres­sions, users say it already provides a 3x decrease (against their previously preferred tool) in estimated total lifetime de­vel­op­ment cost. For longer ex­pres­sions, users estimated even larger gains.

So value is already being created. But this is just the beginning. While Debuggex is a great tool continue.

Why the hell am I building a product with a tiny market?

Two months ago, I launched a regex tester.

Why would I ever build a product around helping people with their regular ex­pres­sions? The market is tiny. There are dozens of free al­ter­na­tives, and only a small percentage of people I've asked said they would pay for my product.

There are a few big advantages to be had competing in a smaller market.

  1. In a smaller market, everything happens on a smaller scale. Successes and failures are smaller in magnitude and take less time to pan out. Less effort is required to build a com­pet­i­tive product, since the existing ones are not as well-developed. continue.