我需要将Perl中的所有内容删除到特定单词。 假设我有这3行
Helicobacter Contig1
Helicobacter contig1
Helicobacter .Contig1
我想要contig1或Contig 1
我试过了
$test=s/^(.*?)^(contig|Contig)//g;
但它不起作用。有什么想法吗?
答案 0 :(得分:3)
删除第二个^
你的正则表达式应该是s/^(.*?)(?=contig|Contig)//g;
.*?
是非贪婪的,所以它会尽快停止(即当它看到重叠群或重叠群时)。您还可以使用\i
修饰符使匹配大小写不敏感,因此您不必检查两个不同的字符串。