正規表現で配列のキーワードを使用してファイルを検索するにはどうすればよいですか。
テキスト ファイルを調べて、キーワードが表示されているかどうか、およびその場所を確認しようとしています。2つのファイルkeywords.txtがあります
keyword.txt
word1
word2
word3
filestosearchon.txt
a lot of words that go on and one and contain linebreaks and linebreaks (up to 100000 characters)
キーワードと一致する位置を見つけたいと思います。これは 1 つの単語で機能しますが、正規表現でキーワードを反復する方法がわかりません。
#!/usr/bin/perl
# open profanity list
open(FILE, "keywords.txt") or die("Unable to open file");
@keywords = <FILE>;
close(FILE);
# open text file
local $/=undef;
open(txt, "filetosearchon.txt") or die("Unable to open file");
$txt = <txt>;
$regex = "keyword";
push @section,[length($`),length($&),$1]
while ($txt =~ m/$regex/g);
foreach $element(@section)
{
print (join(", ",@$element), $regex, "\n");
}
この while ループで配列からキーワードを反復処理して、一致するキーワードと位置を取得するにはどうすればよいですか?
どんな助けにも感謝します。ありがとう