I tried the regulator 2 weeks ago to construct/test some
regexp's for my parser (the lex part) and found it
useful for testing regexp's. I however had a hard time
understanding the app.
What does that analyzer window do for example? Is it
able to construct a regexp out of a serie of matching
strings?
Some issues:
- maximized state isn't preserved
- when you drag the window with the search results to
the middle pane to get it more horizontally (so you can
actually read the descriptions) the windows already in
the middle pane are not resizing, but just move up,
scrolling out of the window (at least in maximized
state. I'm not sure if you use magic lib.
- the intellisense is indeed very hard to deal with.
It's also not that useful. What's far more useful is
tiny wizards, like a 1, 2, 3 step wizard which walks you
through the creation of a pattern by asking you a couple
of questions.
- the search pane is useless at this point, as the text
in the grid isn't wrapping. So you can't read the
descriptions specified for a regexp, and you can't drag
the row's height bigger :)
- The initial setup of the windows isn't that great. The
regexps typed in are usually not spanning more than 5 or
6 lines. However the testing strings can be quite large
as well as the list of matches. When the window is
enlarged, those windows aren't resized automatically,
but the text window is.
- The splashscreen doesn't center in the screen :)
That's it for now :) The testing purposes were great. It
would have been better though (but this isn't your
fault, as regexp language syntax is retarted big time)
if the tool helped more in creating the regexp that I
wanted. For example, I was searching for a way to match
these kind of strings: (with quotes!)
"foo"
"foo, bar"
"foo,bar"
It turned out that "([\S ]|[\S ],|[\S ],
)+" would do the trick. But this required a lot
of trial and error...
But perhaps it's the quirkyness of regexps in general, I
think it will be hard to create a tool which can convert
semantical input into a regexp.
Thanks for the great input Frans. I'll see what I can do
to make it better.