[英]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.