簡體   English   中英

Perl正則表達式使用數組作為搜索項

[英]Perl regex using array as search items

我正在嘗試搜索給定單詞的文件並返回整行。

如果我專門定義以下單詞,那么它可以完美地工作,但是我想使用可用於正則表達式的關鍵字數組,我將如何去做呢?

使用的關鍵字來自存儲為

Hello
Cat
Dog

使用以下代碼調用它們:

$words = '/computer/textfile';       
open(WORDS, $words);                
@wordarray =  <WORDS>;

這有效:

while($line = <FILE>) {   
    if($line =~ /Hello/) {
        print "$line\n";
    }
}

這不起作用:

while($line = <FILE>) {
    if($line =~ @wordarray) {
        print "$line\n";
    }
}
if($line =~ /foo|bar|baz/)

要么

my @kwarray = qw(foo bar baz);
my $keywords_re = join('|', map { quotemeta $_ } @kwarray);
...
if($line =~ /$keywords_re/o)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM