Beefy Boxes and Bandwidth Generously Provided by pair Networks
XP is just a number

Re^3: Regex Tool

by Dietz (Curate)
on Jun 30, 2006 at 06:53 UTC ( #558521=note: print w/replies, xml ) Need Help??

in reply to Re^2: Regex Tool
in thread Regex Tool

Just for your interest:

Multiple ^ or $ anchors would be legal.
The /m modifier in combination with the /s modifier would match the intended behaviour.
/m: match over multiple lines
/s: . matches everything (even newlines)

Note that you would have to insert code to match any newline either by . or by \s. See example below.

my $text = <<"END"; a sample line item duhduh foo END $text =~ /^item.*(^duhduh$)\s*foo$/sm; print "\$1: '$1'\n"; # prints "$1: 'duhduh'"

Replies are listed 'Best First'.
Re^4: Regex Tool
by a (Friar) on Jul 01, 2006 at 14:22 UTC
    Just a point here - something I finally got only after a number of rereadings of the section in J. Friedl's excellent Mastering Regular Expressions (O'Reilly) the /m and /s are a little more complicated.
    /m: better remembered as 'multi' mode - affects 'multiple' (2) meta chars, the anchors (^ and $)
    /s: 'single' mode - affects one meta char, the dot '.'

    /s changes the dot's normal definition - match any char except a new line (\n). In single mode the dot can match \n too which allows regex phrases like:

    to match across the end of line. That all it does and so its why the "item.*" in your example matches the end of line.
    /m changes the ^ and $ anchors from absolute beginning and end of string to match beginning and end of a line, as marked by new line chars. Which is useful w/ the '/g' option, for example:

    local $/ = undef; my $whole_file = <>; # slurp while ( $whole_file =~ /^(.*)$/mg ) { # process line by line print "Got: $1\n"; }
    Not a useful snippet but ... two notes - the '\n' on the print stmt and notice the diff if you put an 's' in the match options


Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://558521]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others pondering the Monastery: (5)
As of 2018-06-22 21:30 GMT
Find Nodes?
    Voting Booth?
    Should cpanminus be part of the standard Perl release?

    Results (124 votes). Check out past polls.