特定のパターンの後で特定のパターンの前にあるファイル内の単語を探したい。パターンの後で、perlを使って別のパターンの前にある単語を見つける
print("Hi", "My name is", "Tej");
だから、私は一人でTej
単語を取得し、配列にそれを保存したい: は、ここにファイルの内容です。同様に、私は上記と同様のパターンを持つが、名前は異なる多くのファイルを持っているので、それらの名前をすべて配列に入れる必要があります。つまり、パターンprint("Hi", "My name is", "
の後、パターン");
の前にあるファイルからの単語が必要です。
カンマの後にスペースがないことがあります。
私はファイルを開き、そのパターンの前後にある単語を検索する関数にファイルハンドルを渡すためのスクリプトを書いた。次のように関数のコードは次のとおりです。
sub search{
my $file_handle = shift;
while (<$file_handle>)
{
/.print("Hi", "My name is", "[\s]+([A-Za-z_0-9]+)/ ;
push @array, $1;
}
}
私は正規表現が動作しません知っているが、私は私が必要な単語を見つける方法について確認していません。提供されたヘルプは高く評価されます。 おかげ
お返事ありがとうございます。論理が役立ちます。 –
ヒント: 'if(/ print \("こんにちは "、"私の名前は? "([^"] +) "\); /){ push @array、$ 1; }'を書くことができます@(@); @); @); @); @); @); @@@@@@@@@@@@@@@@@@@@@@@@ ( "^")+) "\); /;' \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ ' – ikegami