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 hieroglyphics:
</?\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 expressions 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.
Debuggex has launched a regex repository! Starting today, this is how you
can match an IPv4 address on our site:
(The (?&
syntax is borrowed from PCRE's
regex subroutines.)
The concept is really simple - Debuggex has a list of pre-built expressions
that you can use instead of wasting your time figuring them out by yourself.
We've already got a list of almost a hundred expressions,
and we are constantly adding more.
There are a few key features that make our implementation significantly
better than what you may have seen in other places.
Unit Tests
Debuggex was designed from the start with unit-testing and
backwards compatibility in mind.
Each regex in the repository …continue.
I'm happy to announce that, starting on Saturday, Debuggex will have
support for PCRE regular expressions!
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:
-
Lookbehinds
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.
The
crowdfunding 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.
Unfortunately, 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 subscriptions. 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.
A couple of weeks ago, Debuggex gave you the ability to create an account and save regular expressions to the account.
Authentication for your account is provided exclusively through Mozilla Persona, and I'd like to explain why that decision was made.
-
Debuggex is still a one-man team. Resources are very constrained, and time has to be properly managed. I want to focus on building a kick-ass platform for your regular expressions. Mozilla is building a kick-ass identity provider/protocol, and using Persona costs me substantially less effort than rolling out my own.
-
I don't want to manage your password. Countless mistakes have been made …continue.
Today, I am announcing the launch of a crowdfunding 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 expressions, users say it already provides a 3x decrease (against their previously preferred tool) in estimated total lifetime development cost. For longer expressions, users estimated even larger gains.
So value is already being created. But this is just the beginning. While Debuggex is a great tool …continue.
Two months ago, I launched a regex tester.
Why would I ever build a product around helping people with their regular expressions? The market is tiny. There are dozens of free alternatives, 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.
-
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 competitive product, since the existing ones are not as well-developed. …continue.