in reply to Re^6: Regex::Reverse tricky test cases
in thread Regex::Reverse tricky test cases
First, I think you want (.*?), not (.*).
Second, the biggest problem with reversing against the string is the need to have the parsing be ( 4, 321, 'A' ), not ('', 4321, 'A' ) as will have to happen with the \d+. The issue is you need to know what the stuff in \2 is before you match ((?=\d+)).
Also, positive-lookahead is not the direct reversal of negative-lookbehind. For one thing, it's a zero-width assertion that will fail as written because you can't have numbers and letters in the same position. I think it's better reversed as qr/(.*?)\2(A)((?=\d+))/, which makes no sense because \2 isn't populated when it needs to be.
(Incidentally, your suggested pattern is illegal, because the lookbehind is variable-length.)
Yes, it is. But, that's one of the main considerations you gave for wanting to have a regex reverser ...
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^8: Regex::Reverse tricky test cases
by Roy Johnson (Monsignor) on May 17, 2005 at 15:17 UTC | |
by dragonchild (Archbishop) on May 17, 2005 at 17:25 UTC |