Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery

Re: What does this regex do?

by pbeckingham (Parson)
on Sep 22, 2006 at 13:16 UTC ( #574370=note: print w/replies, xml ) Need Help??

in reply to What does this regex do?

Approximation: it captures single lines that do not contain @, and multiple lines (if possible) containing patterns that start and end with @.

Not that it helps much, but here it is in action. Anyone have ideas on what it's trying to find?

#! /usr/bin/perl use strict; use warnings; my $file = do {local $/, <DATA>}; my @cvs = $file =~ /((?:(?:[^\n@]+|@[^@]*@)\n?)+)/gs; print "matched [[$_]]\n" for @cvs; __DATA__ line 1 line 2 line 3 longer @line@ with @some stuff@ line with nothing on it line 4
and the output is:
matched [[line 1 line 2 line 3 longer @line@ with @some stuff@ line with nothing on it ]] matched [[line 4 ]]

pbeckingham - typist, perishable vertebrate.

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others studying the Monastery: (7)
As of 2018-06-24 23:11 GMT
Find Nodes?
    Voting Booth?
    Should cpanminus be part of the standard Perl release?

    Results (126 votes). Check out past polls.