http://www.perlmonks.org?node_id=780983


in reply to Regex not working

Hi Raghu,

As davorg suggested it is always better to use the HTML Parsers to do these kind of stuffs. You have missed 's' option modifier. Also use qr to quote regular expressions instead of manually backslashing everything.

use strict; use warnings; my $content = "<div class='roundedBoxBody'><p> <table>sample table</table> <p>&nbsp;</p></p>"; my $x = qr{<div class='roundedBoxBody'><p>}; my $y = qr{<p>&nbsp;</p></p>}; my $content_out = $1 if ($content =~ m|$x(.*)$y|s); print $content_out;

Prasad

Replies are listed 'Best First'.
Re^2: Regex not working
by davorg (Chancellor) on Jul 17, 2009 at 09:44 UTC
    Also use qr to quote regular expressions instead of manually backslashing everything.

    That's actually not necessary here. The OP was just escaping things that didn't need escaping.

    $x = "<div class='roundedBoxBody'><p>"; $y = '<p>&nbsp;</p></p>';

    Works just as well.

    --

    See the Copyright notice on my home node.

    Perl training courses