我需要删除Perl中一行到特定单词的所有内容。假设我有这3行代码
Helicobacter Contig1
Helicobacter contig1
Helicobacter .Contig1我想要contig1或Contig 1
我试过了
$test=s/^(.*?)^(contig|Contig)//g;但它不起作用。有什么想法吗?
发布于 2012-08-02 23:10:37
删除第二个^
您的正则表达式应该是s/^(.*?)(?=contig|Contig)//g;
.*?是非贪婪的,所以它会尽快停止(即当它看到重叠群或重叠群时)。还可以使用\i修饰符使匹配不区分大小写,这样就不必检查两个不同的字符串。
https://stackoverflow.com/questions/11780466
复制相似问题