Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw
 
PerlMonks  

Re^2: Matching set of paragraph tags with string inside.

by Roy Johnson (Monsignor)
on Feb 08, 2008 at 21:26 UTC ( [id://667076]=note: print w/replies, xml ) Need Help??


in reply to Re: Matching set of paragraph tags with string inside.
in thread Matching set of paragraph tags with string inside.

One minor difference is that splitting this way removes the close-paragraph, but not the open-paragraph, so you need to remove it.
my @arr = grep {/\[tab\]/ and s/^<p>//} split /<\/p>/, $contents;
If you wanted to retain both tags, you could do so by splitting on a lookbehind expression:
my @arr = grep /\[tab\]/, split /(?<=<\/p>)/, $contents;
You'd also retain the paragraph-close if you used it for $/ and read the string as a file.
{ local $/ = '</p>'; open (STR, '<', \$contents) or die "Opening string: $!\n"; @arr = grep /^<p>/ && /\[tab\]/, <STR>; print "read $_\n" for @arr; }
But now I'm just getting silly.

Caution: Contents may have been coded under pressure.

Replies are listed 'Best First'.
Re^3: Matching set of paragraph tags with string inside.
by jepri (Parson) on Feb 09, 2008 at 00:11 UTC
    You seem to be a bit focussed on using big regexes :P

    map { s/<P>// } grep { /\[tab\]/ } split /<\/p>/, $string;

    ___________________
    Jeremy
    I didn't believe in evil until I dated it.

      I think you should try this out. It doesn't do what you think it does.

      Caution: Contents may have been coded under pressure.

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others imbibing at the Monastery: (4)
As of 2024-03-28 16:43 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found