Szukam wystąpienia "CCGTCAATTC (A | C) TTT (A | G) AGT" w pliku tekstowym.Wyrażenie regularne w funkcji indeksu
$text = 'CCGTCAATTC(A|C)TTT(A|G)AGT'; if ($line=~/$text/){ chomp($line); $pos=index($line,$text); }
Wyszukany działa, ale nie jestem w stanie uzyskać pozycję „tekst” w kolejce. Wygląda na to, że indeks nie akceptuje wyrażeń regularnych jako podciągów.
Jak mogę to ułatwić? Dzięki
Tak, mogę to zrobić. Ale gdy zdobędę pozycję, to mam przechwycić następne 50 znaków: 'substr ($ line, $ pos, 50)' – Deep
Możesz dopasować pozostałą część linii $ tak jak powiedziałeś - jest to podejście niepożądane dla jakiś powód? Możesz także użyć zmiennej $ '(lub $ POSTMATCH), aby łatwo uzyskać pozostałą część linii $. –
Proszę zobaczyć moją poprawioną odpowiedź; daj mi znać, jeśli szukasz czegoś innego. –