给定这两个文本:
$mir1 = 'microRNA-9a';
$mir2 = 'microRNA10a';
$mir3 = 'microrna3a';
我想将其更改为:
miR-9a
miR-10a
miR-3a
原则上,我想将所有变体
microRNA
部分替换为miR-
是否有单个正则表达式可以做到这一点?我尝试过此方法,但不确定如何捕获数字部分。
my $mirnew = $mir =~ s/microRNA(\d+)/miR-/gi;
最佳答案
您需要捕获单词,而不是连字符后的数字。要反向引用以捕获组,请使用$1
:
s/microRNA-?(\w+)/miR-$1/gi;