이 탐욕스러운 일치를 고려하십시오; 주어진 :Perl 비 탐욕적 인 일치
my $seq = "STARTblablablablaSTARTblablablablaSTOP";
나는 STARTblablablablaSTOP
과 일치하고 싶다.
($match) = $seq =~ m/(START.*?STOP)/;
($match) = $seq =~ m/(START(.*)?STOP)/;
($match) = $seq =~ m/(START.+?STOP)/;
그러나 $ 일치는 항상 문자열 전체에 할당, 즉
STARTblablablablaSTARTblablablablaSTOP
내가 무엇을 놓치고 :
나는 다음과 같은 시도?
$ hit에 모든 것이 일치하는 첫 번째 캡처 변수가 할당 되었기 때문입니다. 뭐라 구요? – sln
왜'TTATGCCCACACACACCCACTCACCCATT'를 찾고있는 문자열을 검색하지 않는가? 또는 해당 문자열 동적 일부입니까? '. * (TTAT. *)'를 할 수 있는데, 마지막으로 'TTAT'이 나오기를 원할 경우. – chris85
그리고 그것이 모든 것과 일치하는 이유는 단지 하나의 부분 문자열'CCATT'가 있기 때문에 탐욕 스럽거나 그렇지 않은 모든 것이 일치합니다. – sln