in reply to Re: regexp text parsing issue.
in thread regexp text parsing issue.
Thanks graff for getting me to see my mistake. Although I did not use your suggestion your attention to the single line matching operator and greedy mode got me thinking about my syntax. The 's' operator was not the culprit in this case but I can see how it could be in others.
My issue was the question mark (?) location in the pattern matching. I originally had it outside the character grouping $2 parenthesis so it was not stopping at each </table> tag. All I had to do was move the non-greedy indicator inside the character group $2 after the '.*' as such '.*?|\n'.
Now it works beautifully!
In the end the code that works is:
$Txt =~ s!(<table.*?>)(.*?|\n)(</table>)! my $TD = $2; my $first = $1; my $last = $3; unless ($TD =~ /id="CODE"/) {$TD =~ s#<br>#\n#isg;} "$first$TD$last"!eisg;
|
|---|