Re: How to match a token not be quoted?
- From: rob.dixon@xxxxxxx (Rob Dixon)
- Date: Tue, 29 Jan 2008 13:47:57 +0000
Gunnar Hjalmarsson wrote:
Rob Dixon wrote:Gunnar Hjalmarsson wrote:Zhao, Bingfeng wrote: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'.
$line =~ s/("[^"]*")|abc/$1 ? $1 : 'd'/eg;
You need a non-greedy modifier on that Gunnar:
$line =~ s/("[^"]*?")|abc/$1 ? $1 : 'd'/eg;
Why would I need that? Are you mixing up [^"]* with .* ?
Yes. My apologies. It was 3:00am when I wrote that - I would have been
better off getting some sleep instead.
Rob
.
- References:
- How to match a token not be quoted?
- From: Bingfeng Zhao
- Re: How to match a token not be quoted?
- From: Gunnar Hjalmarsson
- Re: How to match a token not be quoted?
- From: Rob Dixon
- Re: How to match a token not be quoted?
- From: Gunnar Hjalmarsson
- How to match a token not be quoted?
- Prev by Date: Re: Clear a hash
- Next by Date: Re: print records that match regexp
- Previous by thread: Re: How to match a token not be quoted?
- Next by thread: Re: How to match a token not be quoted?
- Index(es):
Relevant Pages
|