Expressions is a Great Regex App for Mac
There is something about using a Mac that makes you irritated and annoyed with clunky software. It's hard to go from using Mac's on a regular basis to interfacing with apps that haven't considered aesthetics and usability.
I used to be a Windows user. Now, after years of using Mac's, I have a biological reaction (similar to breaking out in hives) when I have to touch a Windows computer. Or worse, troubleshoot one.
Sometimes, you meet a Mac app that doesn't quite reach the bar set by Apple or app developers. Sometimes, even though it's an app on a Mac, the design is unappealing. Or the usability needs polishing. Or a complete overhaul.
And then there are apps like Apptorium's Expressions. It's a sumptuous, minimalistic, don't-make-me-think app I use to evaluate regular expressions (regex).
If you're a regex power user, Expressions might not be for you. If you need an app to be able to differentiate between different flavors of regex (regex engines, if you prefer; i.e. POSIX, Perl, PHP), you may want to keep looking. You probably won't find anything as beautiful as Expressions, but sometimes duty comes first.
Expressions is a gorgeous app. Whether you choose a light or dark appearance (or default to match the dark menu bar settings in System Preferences), the matches and patterns are aesthetically pleasing, and colored in such a way that makes it easy to differentiate parts of your pattern. Anyone who has worked with regex patterns knows that feeling you can get when you’re trying to remember how many parentheses you’ve passed on the way to your destination and how many should be ahead. Expressions makes that easy to see, and painless.
Expressions includes a regex reference, available in a resizable pane attached to the right of the window. The pane has two tabs, easily displaying basic and advanced metacharacters and operators. They are all nicely presented, with colors differentiating separating the common and special metacharacters. The pane's visibility is toggled using a button or keyboard shortcut.
I’ve test driven a number of regex apps and Expressions is the first one I’ve seen that allows you to store multiple regexes, letting you keep track of changes without erasing and hoping the new changes work, or hoping your memory will let you recreate that previous version if needed. (Or, storing old versions in TextEdit or some other app, just in case.) Expressions has a library pane, attached to the left of the window, where you can store your tests.
The library pane is also resizable, and can also be toggled visible and invisible using a button or keyboard shortcut. Adding and deleting entries in the library is done by using the buttons or keyboard shortcuts. The buttons are at the bottom of the pane. (When I first opened the pane, the plus and minus buttons at the bottom of the library pane weren't visible. After pressing tab a few times to navigate within the library pane, they appeared when selected and stayed visible.) The keyboard shortcuts are the same as you would use in Finder: command-n for creating a new entry, backspace to delete selected entry, and pressing enter/return to rename the selected entry. You can even drag-and-drop to reorder your entries!
Live by the keyboard? Expressions makes it easy to stay there. Navigating the window and most of the features can be performed with keyboard shortcuts. The only places you might need the mouse is to scroll through the quick reference pane and for easier navigation on the library pane.
Semi-power users might be put off by having to open Preferences to enable case insensitivity, multiline and allow whitespace and comments features, but remember that — if you have Full Keyboard Access for All controls enabled (System Preferences > Keyboard > Shortcuts) — you can easily stay on your keyboard to change options in Expressions' Preferences.
The ability to navigate without the mouse feels like that extra polish on Expressions which makes it a joy to use. There are other extras like being able highlight previous/next groups, copy escaped patterns and paste unescaped patterns which make Expressions the most Mac-like of any of the regex apps I've used. In fact, after I close Expressions and go back to my Mac's desktop, my desktop feels a little shabby. Apple may need to step up their game a bit.