Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options
 
PerlMonks  

Re: search and replace is not working as expected...

by mikeirw (Pilgrim)
on Nov 20, 2002 at 16:20 UTC ( [id://214518]=note: print w/replies, xml ) Need Help??


in reply to search and replace is not working as expected...

I believe you want this:

$ARRGH =~ s#<doct>Customer trans\.(?:.*)+?</doct>#<doct>Customer trans\.</doct +>#g;

What the +? does is makes the match less "greedy", so that it matches the first </doct> it finds instead of the last. Also, since you aren't using what you capture in (.*), I put the ?: in, so that perl doesn't try to retain what it found, but still keeps the grouping.

I also changed the regex delimiter to | so that you don't have to escape the / in </doct>.

Update: As per Aristotle's reply, I've changed the regex delimiter to #.

Replies are listed 'Best First'.
Re^2: search and replace is not working as expected...
by Aristotle (Chancellor) on Nov 20, 2002 at 17:42 UTC
    I also changed the regex delimiter to | so that you don't have to escape the / in </doct>.
    Yuck, please use something else next time. | is a regex metacharacter, you just opened a can of worms.

    Makeshifts last the longest.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://214518]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others taking refuge in the Monastery: (5)
As of 2024-04-19 07:12 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found