この貪欲でないマッチングを考えてみましょう。与えられた:Perlの貪欲でないマッチング
my $seq = "STARTblablablablaSTARTblablablablaSTOP";
私は一致したいSTARTblablablablaSTOP
非貪欲です。
私は次のことを試してみました:私は何をしないのです
STARTblablablablaSTARTblablablablaSTOP
すなわち
、($match) = $seq =~ m/(START.*?STOP)/;
($match) = $seq =~ m/(START(.*)?STOP)/;
($match) = $seq =~ m/(START.+?STOP)/;
しかし$マッチは常に文字列全体に割り当てられていますか?
これは、$ hitにすべてが一致する最初のキャプチャ変数が割り当てられているためです。あなたは何を試そうとしていますか? – sln
'TTATGCCCACACACACCCACTCACCCATT'を探している文字列を検索するだけではどうですか?またはその文字列動的の一部ですか? '。*(TTAT。*)'を実行することができます。最後に 'TTAT'が出現したい場合は、それ以外のものを使用します。 – chris85
そして、すべてが一致する理由は、CCATTという部分文字列が1つしかないので、貪欲であるかどうかはすべてに一致します。 – sln