Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

Re: simple perl regex question (or is it?)

by ww (Bishop)
on Nov 11, 2013 at 00:12 UTC ( #1061938=note: print w/ replies, xml ) Need Help??


in reply to simple perl regex question (or is it?)

#!/usr/bin/perl use 5.016; use warnings; #1061936 my $str = q!AND (random text) AND (more random text) AND (yet more)!; my $str2 = q!OR (random text) OR (more random text) OR (yet more)!; while ( $str =~ /(AND )(\(.*\))?( AND|$)/ig ) { say $2; } while ( $str2 =~ /(OR )(\(.*\))?( OR|$)/ig ) { say "Rowing: $2"; } =head C:\>D:\1061936.pl (random text) AND (more random text) AND (yet more) Rowing: (random text) OR (more random text) OR (yet more) =cut

Combining the regexen into a single regex left as a learning opportunity for OP.... except that whilst I posted this, LanX has taken care of the matter. :-(

As to the paren problem, run this after modifying a string with nested parens; then see regex docs re escaping.

Last para is an afterthought/update.


Comment on Re: simple perl regex question (or is it?)
Download Code

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others about the Monastery: (10)
As of 2014-09-17 06:50 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (62 votes), past polls