0

我需要从 Perl 中的一行中删除所有内容,直到一个特定的单词。假设我有这 3 行

Helicobacter Contig1
Helicobacter contig1
Helicobacter .Contig1

我想要 contig1 或 Contig 1

我试过了

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

但它不工作。任何的想法?

4

1 回答 1

3

删除第二个^

你的正则表达式应该是s/^(.*?)(?=contig|Contig)//g;

.*?是非贪婪的,所以它会尽快停止(即当它看到 contig 或 Contig 时)。您还可以使用\i修饰符使匹配不区分大小写,因此您不必检查两个不同的字符串。

于 2012-08-02T15:10:37.003 回答