|
|
| Syntactic Confectionery Delight | |
| PerlMonks |
Re: Regex Backtrackingby frankus (Priest) |
| on Jun 12, 2002 at 17:00 UTC ( #173931=note: print w/ replies, xml ) | Need Help?? |
|
What is happening is as it stands the regular expression is evaluating two characters at a time.Whereas the frame for the matches should be one character. A sloppy fix would be:
while (<DATA>) {
$i=0 while s/\|\|/\| \|/g; # repeats as many times as is necessary
print;
}
As joost rightly says the forward lookahead operation is probably the best way to go.To make regexes easier to read try using the debug pragma:
use re 'debugcolor' To get insight into how the regexes do what they do ;) I'd love to find a solution using the 'c' modifier .. but then I'm not Abigail -- ¤
In Section
Seekers of Perl Wisdom
|
|
||||||||||||||||||||