使用正则表达式查找基因序列记录的模式

Finding the Pattern of a Gene Sequence Record Using Regular Expression

我可以使用什么正则表达式来删除以下记录中的数字和空格?

    1 cctataactt ggaatgtggg tggaggggtt catagttctc cctgagtgag acttgcctgc
   61 ttctctggcc cctggtcctg tcctgttctc cagcatggtg tgtctgaagc tccctggagg
  121 ctcctgcatg acagcgctga cagtgacact gatggtgctg agctccccac tggctttgtc
  181 tggggacacc cgacgtaagt gcacattgcg ggtgctgagc tactatgggg tggggaaaat
 0921 ggcctgaagt cccagcattg atggcagcgc ctcatcttca acttttgtgc tcccctttgc
10981 ctaaaccgta tggcctcccg tgcatctgta ttcaccctgt atgacaaaca cattacatta
11041 ttaaatgttt ctcaaagatg gagttaaa

我使用了以下表达式来匹配除最后一行以外的所有行的模式:

(\s+\d+\s)\w+(\s)\w+(\s)\w+(\s)\w+(\s)\w+(\s)\w+(\s+)(\d+)

在 Perl 中:

my $orig = q{
 1 cctataactt ggaatgtggg tggaggggtt catagttctc cctgagtgag acttgcctgc
61 ttctctggcc cctggtcctg tcctgttctc cagcatggtg tgtctgaagc tccctggagg
121 ctcctgcatg acagcgctga cagtgacact gatggtgctg agctccccac tggctttgtc
181 tggggacacc cgacgtaagt gcacattgcg ggtgctgagc tactatgggg tggggaaaat
0921 ggcctgaagt cccagcattg atggcagcgc ctcatcttca acttttgtgc tcccctttgc
10981 ctaaaccgta tggcctcccg tgcatctgta ttcaccctgt atgacaaaca cattacatta
11041 ttaaatgttt ctcaaagatg gagttaaa
};

## use this block if wish to extract each block
while ( $orig =~ /([atgc]{10})/simg )
{
  print "\n";
}

## or this block to get single string without numbers,spaces or newlines
$orig =~ s/[\d|\W]+//smg;
## or to retain newlines

print $orig;

你可以用这个

:%s/\d\+\|\s\+//g

从缓冲区中删除所有数字 (\d\+) 和空格 (\s\+)。