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

Re: Regular expression and

by andye (Curate)
on Nov 13, 2001 at 15:44 UTC ( [id://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
hth!

andy.

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>;

    Jeroen

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?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others meditating upon the Monastery: (2)
As of 2024-04-20 03:10 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found