On Wed, August 15, 2007 7:57 am, Shlomi Fish wrote:
> On Wednesday 15 August 2007, Yitzchak Scott-Thoennes wrote:
>> On Tue, August 14, 2007 7:22 am, Peter Gordon wrote:
>>> s!(<td.*?>)(.*?)(</td>)!my $t1 = $1 ;my $t2 = $2 ; my $t3 = $3 ; $t2
>>> =~
>>> s/\s/ /g ; "$t1$t2$t3" ;!egs ;
>>
>> Is there a reason not to just:
>>
>> s{(<td.*?>)([^ ]+) ([^ ]+) ([^ ]+) ([^ +)(</td>)}
>> {$1$2 $3 $4 $5$6}g
>
> This will work only if there are exactly 4 words between the <td> and the
> </td>, and with a very particular arrangement of whitespace and
> non-whitespace characters.
>
> As such it is not recommended to use this regex.
Read the original use case again. I think the specificity is an asset, not a
liability.
_______________________________________________
Perl mailing list
[email protected]
http://perl.org.il/mailman/listinfo/perl