Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid
 
PerlMonks  

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

by Roy Johnson (Monsignor)
on Feb 08, 2008 at 21:26 UTC ( #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.


Comment on Re^2: Matching set of paragraph tags with string inside.
Select or Download Code
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
Node Status?
node history
Node Type: note [id://667076]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others browsing the Monastery: (4)
As of 2014-11-25 00:51 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My preferred Perl binaries come from:














    Results (148 votes), past polls