Je parcourt un fichier et sur chaque ligne je recherche une regex. Si l'expression rationnelle est trouvée, je veux juste imprimer "c'est trouvé" et ensuite l'emplacement de l'index où il a été trouvé dans cette ligne.Comment trouver l'emplacement d'index d'une sous-chaîne correspondant à une regex en Perl?
Exemple:
looking for: 'HDWFLSFKD' need index between two Ds
line: MLTSHQKKF*HDWFLSFKD*SNNYNSKQNHSIKDIFNRFNHYIYNDLGIRTIA
output: 'its found' index location: 10-17
ci-dessus « recherche » est tout à fait simple, mais je prévois d'avoir des déclarations regex complexes là-dedans.
Donc, fondamentalement, je veux juste savoir si une regex est trouvée dans une chaîne, alors comment pouvons-nous obtenir l'emplacement de l'index?
Voici le code que j'ai jusqu'à présent:
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";
}
}
est-ce pas un double de http://stackoverflow.com/ questions/87380/comment-puis-je-trouver-la-localisation-d'une-regex-match-en-perl? –