Yea or Nay this idea, please. I've had it for a month or so.
Around the time of my "regex reversal" craze, I also had the
idea of providing, as a learning tool (or more?), a means
of translating from a simple english specification to a Perl
regex. The idea being that this would help people understand
what a regex does by forming one from what they say.
An example might be (if it were function-oriented):
# /^[+-]?\d+$/
$match_integers = form_REx(
start, # ^
class("+-"), # [+-]
optional, # ?
digit, # \d
one_or_more, # +
end # $
);
This is pretty easy to read, no? And it helps make a connection
between the "line noise" and the instruction associated with
it. Here's another example, if it were to parse a string
holding the specification:
# /^[+-]?\d+$/
$match_integers = form_REx(<< 'END'); # single-quoted!
start # ^
class "+-" # [+-]
optional # ?
digit # \d
one_or_more # +
end # $
END
It looks very similar (and it should). It's just a matter
of "do I want to make lots of functions" or "do I want to
do a lot of parsing".
But before I do this... would anyone find it useful? I'm
not about to waste time on something no one needs.
japhy --
Perl and Regex Hacker