0

Perl の行から特定の単語まですべてを削除する必要があります。これらの3行があるとします

Helicobacter Contig1
Helicobacter contig1
Helicobacter .Contig1

contig1またはcontig1が欲しい

私が試してみました

$test=s/^(.*?)^(contig|Contig)//g;

しかし、それは機能していません。何か案が?

4

1 に答える 1

3

2番目を削除します^

あなたの正規表現はs/^(.*?)(?=contig|Contig)//g;

これ.*?は貪欲ではないため、できるだけ早く停止します (つまり、コンティグまたはコンティグが検出されたとき)。修飾子を使用し\iて一致の大文字と小文字を区別しないようにすることもできるため、2 つの異なる文字列をチェックする必要はありません。

于 2012-08-02T15:10:37.003 に答える