Re: How to match a token not be quoted?



Zhao, Bingfeng wrote:
Hello,

Hello,

I want to a cure regex that match following requirements: given $line =
'abc abc "abc abcc" abcc', I want to replace all instances of "abc" that
not in quotation with, say 'd', so I expect I get 'd d "abc abcc" dc'.
What should I write my regex? I try some and referred cook book also, no
solution. Thanks in advance.

$ perl -le'
my $line = q[abc abc "abc abcc" abcc];
print $line;
$line =~ s/ ( " [^"]* " ) | abc / $1 || "d" /xeg;
print $line;
'
abc abc "abc abcc" abcc
d d "abc abcc" dc




John
--
Perl isn't a toolbox, but a small machine shop where you
can special-order certain sorts of tools at low cost and
in short order. -- Larry Wall
.



Relevant Pages

  • Re: How to match a token not be quoted?
    ... Zhao, Bingfeng wrote: ... not in quotation with, say 'd', so I expect I get 'd d "abc abcc" dc'. ... Gunnar Hjalmarsson ...
    (perl.beginners)
  • Re: How to match a token not be quoted?
    ... not in quotation with, say 'd', so I expect I get 'd d "abc abcc" dc'. ... What should I write my regex? ... for my $token (@tokens) { ...
    (perl.beginners)
  • Re: How to match a token not be quoted?
    ... Zhao, Bingfeng wrote: ... I want to a cure regex that match following requirements: ... not in quotation with, say 'd', so I expect I get 'd d "abc abcc" dc'. ...
    (perl.beginners)
  • How to match a token not be quoted?
    ... I want to a cure regex that match following requirements: ... not in quotation with, say 'd', so I expect I get 'd d "abc abcc" dc'. ... Bingfeng ...
    (perl.beginners)
  • Re: How to match a token not be quoted?
    ... Rob Dixon wrote: ... not in quotation with, say 'd', so I expect I get 'd d "abc abcc" dc'. ... Gunnar Hjalmarsson ...
    (perl.beginners)