Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw

Re: Regular expression and

by andye (Curate)
on Nov 13, 2001 at 15:44 UTC ( #125031=note: print w/replies, xml ) Need Help??

in reply to Regular expression for two required words

#!/usr/bin/perl -w use strict; while (<DATA>) { chomp; print; print /(?=.*foo)(?=.*bar)/s ? "\t match \n" : "\t no match \n" +; } __DATA__ foo bar bar foo foo bar baz barbazfoo foofoobar
gives output:
foo bar match bar foo match foo no match bar no match baz no match barbazfoo match foofoobar match


Update re jeroenes's points below:
1. I used /s to make '.' match any character, in case fsn's *real* strings weren't all in one line.
2. Yes, or even print grep /(?=.*foo)(?=.*bar)/, <DATA> ; , but I wanted to print the failed matches too. Perhaps print map{ chomp; /(?=.*foo)(?=.*bar)/?"$_ yes \n":"$_ no \n"} <DATA> ;


Replies are listed 'Best First'.
Re:{2} Regular expression and
by jeroenes (Priest) on Nov 13, 2001 at 16:18 UTC
    Two nitbits:
    1. You don't need the 's' modifier there, as the you already have the string in one line;
    2. This is a place to use grep as a filter: @matched  = grep /.../, <DATA>;


Re: Re: Regular expression and
by fsn (Friar) on Nov 13, 2001 at 16:11 UTC
    Wow! Exactly on the spot! Thankyou! (Getting an answer in 17 minutes. I'm amazed!)

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others scrutinizing the Monastery: (7)
As of 2020-12-04 08:59 GMT
Find Nodes?
    Voting Booth?
    How often do you use taint mode?

    Results (58 votes). Check out past polls.