in reply to Re: Regular expression patter matching question
in thread Regular expression pattern matching question
For what it's worth, the next version of Regexp::Assemble (v0.24) will be able to do the following
$ perl -le 'print $_ for 4333 .. 9999' | \PERL5LIB=blib/lib assemble (?:4(?:3(?:3[3456789]|[456789]\d)|[456789]\d\d)|[56789]\d\d\d)
... in 1.3 seconds on hardware a couple of years old.
If I get the warnings to stop, I'll throw in japhy's mind-bendingly marvellous list-to-range regexp which will allow it to get that down to:
(?:4(?:3(?:3[3-9]|[4-9]\d)|[4-9]\d\d)|[5-9]\d\d\d)... which, interestingly enough, looks as if it arrives at the same conclusion as you, which is a nice validation, thanks :)
• another intruder with the mooring in the heart of the Perl
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^3: Regular expression patter matching question
by diotalevi (Canon) on Jan 19, 2006 at 21:34 UTC |