Skip to main content


Showing posts from June, 2012

Now Supporting Facebook and Twitter Logins

This is something I've wanted to have for a long time but I simply haven't set aside the time to do it. Well, no more waiting, Regex Hero now supports logging in with Facebook and Twitter... If you already have an account with Regex Hero and want to sign in with something else (such as Facebook or Twitter) then you can add it to your account .  Or if you're a brand new user of Regex Hero, create your account here .

New Benchmarking Features and a New Homepage Design

Today I updated the benchmarking tool in Regex Hero with some new functionality. There were essentially two things I was looking to accomplish: Create insight into the benchmarking tool so that developers know exactly what it's doing. Add the ability to benchmark your regular expression with the IsMatch() function.  IsMatch() simply returns true if your regular expression has even 1 match in the specified string.  As such, it actually stops searching after the first match is found.  In some cases this makes it many times faster than iterating through every match. So now you'll see some new options to take care of all this... You can click the Show/Hide benchmarking code button at any point if you want to know exactly what Regex Hero is going to do under every benchmarking loop.  There are effectively 4 different benchmarking modes: 2 modes when the Match tab is selected, 1 mode for Replace, and 1 mode for Split. Homepage Redesign And of course I've red

Highlighting for Regex Group Pairings

I added a new feature where the respective group starting and ending will be highlighted in gray when the cursor is on either the start or end of the group.  This is especially useful when you have a large regular expression with many groups, or perhaps nested groups as below... The idea for this comes right from Visual Studio 2010 which of course I use everyday.  And this feature is very responsive because of the fact that Regex Hero doesn't have to reparse anything when you're simply moving the cursor around.  Once again, the new parser is doing its job very well.

Improved Regex Code Completion and Bug Fixes

I've taken another step towards leveraging the new regex parser this weekend.  This time I've completely removed all dependencies on the old parser for the purposes of regex code completion.  So the syntax highlighter and code completion features are both running on the new parser.  This saves precious clock cycles and makes Regex Hero a little more efficient.  And then I've introduced full support for Unicode general categories and named blocks denoted by the \p{name} or \P{name} syntax.  So you'll get regex code completion for this as well. In addition to this I've solved a few bugs: The analyzer would get out of sync under certain situations, causing the list to be tabbed over needlessly. Code completion would have issues when you try to navigate down the list and then back past the top result with the arrow keys.  Hitting down again wouldn't return focus to the list as it should.  I actually changed this behavior so the list will disappear if you do

New Regex Parser, Improved Syntax Highlighter, and More on the Way

During the past couple weeks I've been working on a revised version of my regex parser.  For those who haven't followed my old posts about this parser, it's what makes some of the more advanced features in Regex Hero possible.  It's being used for code completion, regex analysis, and the syntax highlighter. Well, my new & improved parser is both faster and more powerful.  Today I released an update which uses the new parser for the syntax highlighter.  It's roughly twice as fast as the old parser.  And the syntax highlighting is a little smarter now about detecting unclosed brackets or parentheses, and highlighting the offending section in red.  It'll also highlight invalid character constructs such as \g in red. But this is just the tip of the iceberg.  There are a lot of improvements coming that'll be made possible by this new parser.  Stay tuned for updates.