Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change
 
PerlMonks  

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

by mikeirw (Pilgrim)
on Nov 20, 2002 at 16:20 UTC ( #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 #.


Comment on Re: search and replace is not working as expected...
Select or Download Code
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
Node Status?
node history
Node Type: note [id://214518]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others browsing the Monastery: (7)
As of 2016-02-14 16:11 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How many photographs, souvenirs, artworks, trophies or other decorative objects are displayed in your home?





    Results (470 votes), past polls