私はファイルを繰り返し、各行で正規表現を探しています。正規表現が見つかった場合は、「見つかった」とその行にあるインデックスの位置を印刷したいだけです。Perlで正規表現にマッチした部分文字列のインデックス位置を見つけるにはどうすればよいですか?
例:
looking for: 'HDWFLSFKD' need index between two Ds
line: MLTSHQKKF*HDWFLSFKD*SNNYNSKQNHSIKDIFNRFNHYIYNDLGIRTIA
output: 'its found' index location: 10-17
「を探して」上記は非常に簡単ですが、私はそこに複雑な正規表現文を持っていることを計画しています。
基本的にちょうど正規表現が文字列内にあるかどうかを知りたいのですが、どうすればそのインデックスの位置を取得できますか?ここで
私がこれまで持っているコードです:
foreach my $line (@file_data)
{
if ($line=~ /HDWFLSFKD/){
print "it's found\n";
print "but at what index are the two Ds";
}
else {
$sequence.=$line;
print "came in else\n";
}
}
はhttp://stackoverflow.com/の重複本ではないです質問/ 87380/find-the-find-the-regex-match-in-perl? –