... the requirement to match leading and trailing brackets, period and spaces ...
I had in mind using a CPAN module only as a source for a regex for dependably recognizing the Roman-numeric part of your string, something along the lines of what Regexp::Common provides. Unfortunately, this module does not seem to support Roman numerals.
Ok, then maybe use the Roman-to-decimal conversion functions of Roman or Text::Roman (but I've not used either of these modules and so can't recommend them) or some such to test for the 1 .. 39 range of a Roman sequence extracted with a simple [ivxIVX]+ capture. The advantage of using such a module is that it is, one presumes, well-tested. (These modules both provide an isroman() function that would, one would hope, reject something like ixixixix, but I haven't checked this.)
But if you have to do all that, maybe it's better to hand-craft (and test!) your own [i-xxxix] regex...
Give a man a fish: <%-{-{-{-<
In reply to Re^3: Pattern Matching
by AnomalousMonk
in thread Pattern Matching
by davidas
For: | Use: | ||
& | & | ||
< | < | ||
> | > | ||
[ | [ | ||
] | ] |